在我无法使用Web.Config的情况下,我正在对旧URL进行301重定向,因此没有重写模块功能。所以我一直在单个文件上使用这个简单的代码:
<%@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时,它为301s到一个特定页面,当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
%>
有没有人知道如何在“THEN”状态下获得301重定向?我对此非常陌生,所以也许我错过了一个简单的解决方案......
“Response.Redirect”有效但却提供了302而不是301.“Response.RedirectPermanent”的新选项对我的托管不起作用。
答案 0 :(得分: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
%>