Js 替换域名并自动跳转

博客换域名后,很多通过搜索殷勤从原来地址过来的都只能跳到首页,虽然能通过站内搜索重新找到东西,但这毕竟是个糟糕的用户体验。因为只是换域名其他伪静态未做改变,所以找了个办法,用 javascript 替换当前网址里的域名,将原来的 www.happyet.org 替换成现在的 lms.im,然后让它自动跳转。

代码入下:

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","lms.im");
window.location = target_url;

通过上面的代码,就可以将 http://www.happyet.org/ooooxxxx/gaga.html 自动变成 http://lms.im/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","lms.im");
window.location = target_url;

作者: LMS

天行贱,君子自强自息。

标签

《Js 替换域名并自动跳转》有6个想法

  1. var current_url = window.location.href;
    target_url = current_url.replace(“www.happyet.org”,”lms.im”);
    window.location = target_url;

    这样更简单点吧

  2. 这样更简单

    try
    { if( self.location.hostname == “www.google.com” ) {
    window.location.href = “http://www.google.com.hk”+location.pathname;
    }
    else {document.write (“”)}
    } catch(e) {}

发表评论

电子邮件地址不会被公开。 必填项已用*标注