您所在的位置:小祥子 » 编程 » ASP » 正文

ASP网站域名改版404错误页301智能重定向新域名

时间:2015-01-14 编辑:佚名 来源:互联网

上次我们介绍了如何使用JS来将404错误页跳转到新域名上,这次我们介绍一个更好用的代码。

适用情景

A域名的网站进行域名改版,数据全部转移至B网站,A域名建了新的数据,需要将404错误页重定向到B网站上。

就跟现在小祥子一样,以前的数据全部转到old.xiaoxiangzi.com上,现在新网站www.xiaoxiangzi.com可以访问,但有大部分页面是404错误页,之前想到直接用JS判断当前域名跳转,但这样无法转移权重。百度站长工具里有个域名改版,但得设置301重定向,我又不想把整站在IIS上都做301定向,所以想到了这个办法。

代码如下 '后为注释  将以下代码保存为404url.ASP并且在IIS上设置错误页为404url.asp
<%
If Request.ServerVariables("QUERY_STRING")="" Then
url=Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("PATH_INFO")
Else
url=Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("PATH_INFO")&"?"&Request.ServerVariables("QUERY_STRING")
End If ’首先获取当前完整URL
url="http://"&Replace(url,"www.","old.") '替换域名
url=Replace(url,"http://old.xiaoxiangzi.com/404url.asp?404;","") '因为在IIS上设置404错误页,你访问的页面是www.xiaoxiangzi.com/aaa/bbb.html 实际上通过404显示的不是这个,而是http://www.xiaoxiangzi.com/404url.asp?404;www.xiaoxiangzi.com:80/aaa/bbb.html我们只需要替换掉不必要的字符串就可以得到应该重定向的网址

url=Replace(url,":80","")
Response.Status="301 Moved Permanently"
Response.AddHeader "Location",url  '301重定向到新的网址
%>