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
%>