301 Перенаправление для URL с переменными

Я делаю 301 переадресацию для старых URL-адресов в ситуации, когда я вообще не могу использовать Web.Config, так что нет возможности переписать модуль. Поэтому я использовал этот простой код для отдельных файлов:

<%@Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader ( "Location","newurl.html" )
%>

Моя проблема в том, что есть одна страница (index.asp), где переменные передаются через URL-адрес, как это:

domain.com/index.asp?PageAction=VIEWPROD&ProdID=71 domain.com/index.asp?PageAction=VIEWPROD&ProdID=72

Я хочу настроить условное перенаправление 301, чтобы при URL-адресе ProdID = 71 он отображался на одной конкретной странице, а при URL-адресе ProdID = 72 - 301 на другой странице.

Пока у меня есть этот простой код:

<%
DIM strPageAction
strPageAction = Request.QueryString("PageAction")

DIM strProdID
strProdID = Request.QueryString("ProdID")
%>

<%
IF strPageAction = "VIEWPROD" AND strProdID = "71" THEN
ELSE
END IF
%>

<%
IF strPageAction = "VIEWPROD" AND strProdID = "72" THEN
ELSE
END IF
%>        

Кто-нибудь знает, как я мог получить перенаправление 301 там для условия "THEN"? Я очень новичок в этом, так что, возможно, я упускаю простое решение...

"Response.Redirect" работает, но выдает 302 вместо 301. Новая опция "Response.RedirectPermanent" не работает на моем хостинге.

1 ответ

Решение

Ну, я нашел код, который сделал эту работу:

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"

if Request.QueryString("PageAction") = "VIEWPROD" and Request.QueryString("ProdID") = "71" then
Response.AddHeader "Location", "http://www.foxnews.com" 

else if Request.QueryString("PageAction") = "VIEWPROD" and Request.QueryString("ProdID") = "72" then
Response.AddHeader "Location", "http://www.apple.com"

end if
end if
%>
Другие вопросы по тегам