【问题标题】:301 Redirect for URLs with Variables带有变量的 URL 的 301 重定向
【发布时间】:2011-06-15 09:18:45
【问题描述】:

我在根本无法使用 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 时,它 301 到一个特定页面,当 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”的新选项在我的主机上不起作用。

【问题讨论】:

    标签: asp-classic http-redirect


    【解决方案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
    %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2014-12-04
      • 2016-12-07
      • 2017-08-14
      • 2012-12-08
      • 2012-05-14
      相关资源
      最近更新 更多