2013-11-26 2 views
1

Я пытаюсь реализовать простой 301 redirect от mydomain.com/page1.asp до mydomain.com/page2.asp. Это динамически создаваемые страницы продуктов в магазине электронной торговли, поэтому они физически не существуют в виде файлов.серверная переадресация в классическом ASP на IIS7

В Apache это просто сделать с .htaccess, но все, что я нашел способы перенаправляют статические страницы, которые на самом деле существуют на сервере, например, размещая код ниже в верхней части существующего файла:

<%@LANGUAGE="VBSCRIPT"%> 
<% 
' Redirect to the new location with the correct 301 Moved Permanently status 
Response.Status = "301 Moved Permanently" 
Response.AddHeader "Location", "http://www.example.com/new-page.php" 
%> 

Есть ли способ перенаправить динамически сгенерированную страницу в IIS7 с использованием классического asp?

UPDATE

На основании полученных замечаний, мне нужен модуль URL переписывания. @ZippyV предложил this one

+3

Я думаю, что вы хотите переписать URL вместо перенаправления. IIS имеет модуль перезаписи: http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module – ZippyV

+0

Если вы действительно хотите использовать Classic ASP то вы можете настроить собственные страницы ошибок в ASP и использовать Response.Redirect или Server.Transfer в условных операторах. Однако гораздо проще использовать модуль перезаписи IIS, как предлагает ZippyV. web.config на IIS 7 выполняет аналогичную роль .htaccess – John

+0

спасибо за помощь, ребята, @ZippyV, можете ли вы отправить ответ, чтобы я мог принять? – Bogdan

ответ

2

Вы хотите переписывания ваших запросов URL вместо перенаправлять их.

IIS имеет модуль перезаписи URL, который вы можете download here. Еще одна приятная особенность заключается в том, что он также может преобразовать ваш исходящий HTML-код.

Другие статьи о том, как использовать URL Rewrite модуль IIS: http://www.iis.net/learn/extensions/url-rewrite-module

Смежные вопросы