从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

下面我们来看一下如何使用PHP代码实现将旧网址URL跳转到新网站URL:

<?php
$the_host = $_SERVER[\'HTTP_HOST\'];
$request_uri = isset($_SERVER[\'REQUEST_URI\']) ? $_SERVER[\'REQUEST_URI\'] : \'\';
switch ($the_host)
{
    case \"www.nowamagic.tk\":
    case \"nowamagic.tk\":
        $location = \"Location: http://nowamagic.net\" . $request_uri;
        break;
    case \"blog.nowamagic.tk\":
        $location = \"Location: http://blog.nowamagic.net\" . $request_uri;
        break;
    case \"www.moiya.tk\":
    case \"moiya.tk\":
        $location = \"Location: http://nowamagic.net\";
        break;
    default:
        $location = \"Location: http://nowamagic.net\";
        break;
}
header(\'HTTP/1.1 301 Moved Permanently\');
header($location);
exit();
?>

如果只要对一个域名进行重定向,可以把代码简化成下面的形式:

<?php
$the_host = $_SERVER[\'HTTP_HOST\'];//取得进入所输入的域名
$request_uri = isset($_SERVER[\'REQUEST_URI\']) ? $_SERVER[\'REQUEST_URI\'] : \'\';//判断后面的请求部分
if($the_host !== \'nowamagic.net\')//nowamagic.net是我现在的域名 (作者: http://www.manongjc.com )
{
    header(\'HTTP/1.1 301 Moved Permanently\');//发出301头部
    header(\'Location: http://nowamagic.net\'.$request_uri);//跳转到我的新域名地址
    exit();
}
?>
收藏 打印