博客换域名后,很多通过搜索殷勤从原来地址过来的都只能跳到首页,虽然能通过站内搜索重新找到东西,但这毕竟是个糟糕的用户体验。因为只是换域名其他伪静态未做改变,所以找了个办法,用 javascript 替换当前网址里的域名,将原来的 www.happyet.org 替换成现在的 muxer.cn,然后让它自动跳转。
代码入下:
current_url = window.location.href; function replaceAll(str1,str2,str3){//str1为母字符串,str2为要替换的。str3为替换成的 var k var tmp = str1.split(str2) k=tmp[0] for(i=1;i<span><</span>tmp.length;i++){ k+=str3+tmp[i] } return k } target_url = replaceAll(current_url,"www.happyet.org","muxer.cn"); window.location = target_url;
通过上面的代码,就可以将 http://www.happyet.org/ooooxxxx/gaga.html 自动变成 http://muxer.cn/ooooxxxx/gaga.html,只能这么搞了。
这代码放在服务器里传说中的 404 页面内,比如我的 da 主机,根目录下就有个 404.shtml,搞它就好。
目前这代码有个 bug,地址是 index.php?
这种情况的好像会出错,不过还好,最后也能跳到新域名的首页,而且我的博客地址都是伪静态,没有这个问题。
评论里有高人的方法,没试过,只要 replace 函数可以这么用那应该就没错了,俺是业余的也不去查了,老早以前就整个旧域名 301 到新域名了。
var current_url = window.location.href; target_url = current_url.replace("www.happyet.org","muxer.cn"); window.location = target_url;
THE END
很好,帮大忙了。谢谢
这样更简单
try
{ if( self.location.hostname == "www.google.com" ) {
window.location.href = "http://www.google.com.hk"+location.pathname;
}
else {document.write ("")}
} catch(e) {}
var current_url = window.location.href;
target_url = current_url.replace("www.happyet.org","muxer.cn");
window.location = target_url;
这样更简单点吧
谢谢指点!
旧地址全部 301 过来比较好吧,对搜索引擎来说。
现在是全站301了,这个只是看着好看而已呵呵。