安阳网站建设谈谈简单利用404页面做全站301重定向!近有个客户使用国内虚拟空间,不支持伪静态,需要换新域名。但由于新域名未经备案不能直接绑定使用,网站数据暂时只能放到国外使用新域名,旧域名会被全站301重定向到新域名。
我们都知道服务器很好做,可以直接在IIS中设置,关于建站,也可以伪静态设置。做很多受限虚拟空间怎么做全站301重定向?以下是使用404错误页直接复位301全站的方法(前提是404错误页可以自行设置)。
1、将空间404的错误页设置为404.asp;
2.将空间的默认主页设置为404.asp;
3.将以下代码保存为404.asp,并将其上传到旧的空间根目录:
以下是一个参考片段:
<%
url1="http://www.xxx.com" ’原域名
url2="http://www.xxxx.com" ’新域名
u1=Request.ServerVariables("SERVER_NAME")’取得网址域名地址
u2=Request.ServerVariables("URL")’获取 .com/net/等后面的UL地址
if Trim(Request.QueryString)<>"" then’如果有变量参数,就获取,没有就跳过
u3="?"&Trim(Request.QueryString)
end if
url="http://"&u1&u2&u3 ’将获取到如http://www.xxx.com/404.asp?404;http://www.xxx.com:80/news/689.html
url=replace(url,url1&"/404.asp?404;","")
url=replace(url,url1&":80",url2)
url=replace(url,url1&"/404.asp",url2) ’针对首页301跳转
url=replace(url,"index.asp","")
’Response.write(url)
Response.Status="301 Moved Permanently"
Response.AddHeader "Location",url
if request.ServerVariables("HTTP_HOST")="studstu.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.sxxx.com"
Response.End
end if
%>
注意:原域名和新域名都将被替换为您自己的域名。
4.试试面试。你完了。
但是,如果虚拟空间连404页都不能自己设置呢?或者404页不能设为ASP格式,关于网站模板,只能设为HTML或HTM静态格式。这种情况下只能用JS跳全站。虽然不是301重定向,但仍然可以保留原域名流量。下面是404.html格式,用法同上。
以下是一个参考片段:
<script language="javascript" type="text/javascript">
<!--
var abc = "www.xxxx.com";
var qwe = window.location.host;
if(qwe != abc){
window.location = "http://" + abc + window.location.pathname + window.location.search + window.location.hash;
}
-->
</script>
如果用JS跳转,只需要输入一个新的域名。
推荐阅读