php源码之实现301永久重定向

时间:2016-11-03
301重定向在网站URL改版中经常被用到,php中页面301跳转我们使用header()函数发送状态代码301的同时再跳转到指定页面本文章向大家介绍php源码之实现301永久重定向,需要的朋友可以参考一下。

从搜索引擎优化角度出发,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();
}
?>