经典Asp页面中的URL重定向

时间:2011-02-01 05:39:57

标签: asp-classic redirect http-status-code-302

我遇到与重定向有关的问题

如果有人使用http://mywebsite.com/,我想应用重定向,那么该网址会被重定向到http://www.mywebsite.com/。我知道它是一个302重定向但我不知道如何在编码中应用它........什么VBScript可用于应用重定向?

我的网站是用经典ASP和VBScript构建的...任何一段代码对我来说都会更好

由于

2 个答案:

答案 0 :(得分:12)

使用Request.ServerVariables("HTTP_HOST")获取主机部分,以便检查它是否以www.开头。

如果没有,那么只需向相应的网址发出Response.Redirect(),因为它会为您执行302:

e.g。

If Left(Request.ServerVariables("HTTP_HOST"), 4) <> "www." Then
  Dim newUri
  'Build the redirect URI by prepending http://www. to the actual HTTP_HOST
  'and adding in the URL (i.e. the page the user requested)
  newUri = "http://www." & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")

  'If there were any Querystring arguments pass them through as well
  If Request.ServerVariables("QUERY_STRING") <> "" Then
    newUri = newUri & "?" & Request.ServerVariables("QUERY_STRING")
  End If

  'Finally make the redirect
  Response.Redirect(newUri)
End If

上面做了重定向,确保保留所请求的页面和查询字符串

答案 1 :(得分:4)

试试这个:

Response.Status = "302 Moved Temporary"
Response.AddHeader "Location", "http://www.mywebsite.com/"