我将我的网站从asp升级到asp.net。 这意味着我之前的所有asp文件都已过时。 我不想丢失旧网页的谷歌排名。
重定向的正确方法是什么? 我试图抓住所有旧的asp页面是我的404然后到:
if Request.QueryString("aspxerrorpath").contains("index.asp") = true then
Response.Status = "301 Moved Permanently"
Response.AddHeader("Location", "http://www.domain.com/index.aspx")
Response.Redirect("/index.aspx")
end if
但它不捕获asp页面,只捕获aspx。
答案 0 :(得分:0)
假设您正在运行IIS7,可以使用rewrite module。这允许您匹配URL并将其重定向到另一个URL。像^(.+)\.asp$
作为模式和{R:1}.aspx
作为重写URL应该这样做。
答案 1 :(得分:0)
您可以在global.asa文件中执行此操作。
ASP文件的404错误仍会调用'应用程序'。 在应用程序启动时,您可以重定向到相应的aspx文件。
的global.asa:
Sub Application_OnStart
'Get page name from request and redirect accordingly
'...
End Sub
答案 2 :(得分:0)
我通常用以下内容替换asp页面的内容:
<%@ Language=VBScript %>
<%
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.domain.com/index.aspx"
Response.End
%>