一个是迫切待用的新域名(www.ishnan.com),一个是有着SEO流量的老域名(www.shnan.net),出于某种原因想更换新域名。
通常做法,301重定向;或者 .htaccess;或者是rewrite
301是IIS,MS出的闭源, .htaccess为apache WEB服务器重定向apache.org出品的开源产品,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态的
咱原来域名的虚拟主机,不支持后两者,想实现依然很简单!
一,ASP首页301重定向,代码
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Response.Status="301 Moved Permanently"
Response.AddHeader "Location","https://www.ishnan.com/"
Response.End
%>
保存为虚拟主机的默认首页
二,巧妙利用虚拟主机的的自定义404错误页,代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>301重定向</title>
</head>
<body>
<script> try
{
var s_domain = location.host;
var js_path = "www.ishnan.com";
var oldUrl=document.location.href;
var rstring=/http:\/\/www.shnan.net\//gi;
var newUrl=oldUrl.replace(rstring,"https://www.ishnan.com/");
if (s_domain != js_path)
{
var str=window.location.href;
var es=/www.shnan.net/;
es.exec(str);
var right=RegExp.rightContext;
top.location.href = newUrl;
}
}
catch(e) { }
</script>
</body>
</html>
最后建议也这样操作下,对于某些未知虚拟主机不知是否支持 .htaccess,也可以尝试在根目录下创建该文档,代码
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ishnan.com$ [NC]
RewriteRule ^(.*)$ https://www.ishnan.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^shnan.net$ [NC]
RewriteRule ^(.*)$ https://www.ishnan.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.shnan.net$ [NC]
RewriteRule ^(.*)$ https://www.ishnan.com/$1 [R=301,L]
需要注意的是windows系统下默认是无法创建文件名为“.htaccess”的文件,方法:
新建一个文本文档,右键创建压缩文件,创建完毕后,双击压缩文件,打开后选中该文本文件,重命名为“.htaccess”
最后将这三个问价上传至原域名虚拟主机根目录下,访问试试哟没有跳转至新域名下!
本文转载自互联网,如有侵权,联系删除
发表评论
你还需要用虚拟主机?
301是最好的选择。