PHP使用header+Location实现网站301重定向

对于我们SEO人员来说,有的时候需要对网站进行重定向。一般来说,对网站重定向的http返回状态码是301和302两种。下面兰州SEO就通过实例来为你介绍一下怎样通过PHP使用header+Location实现网站301重定向。

关于PHP网站的定向问题,在百度上面搜索的一中午,发现使用最多的就是使用“header+Location”的重定向方法。下面我给出最流行的代码:

1
2
3
4
<?php
header("Location: http://www.feiyuseo.com");
exit;
?>

但是通过我对HTTP状态码查询发现,通过以上代码跳转重定向后的返回码是302状态。我们先来看一下什么是302返回码?搜索引擎返回302错误表示被请求的资源暂时转移(Moved temporatily),然后会给出一个转移后的URL,而浏览器在处理服务器返回的302错误时,原则上会重新建立一个TCP连接,然后再取重定向后 的URL的页面;但是如果页面存在于缓存中,则不重新获取。但是,由于黑帽SEO滥用302重定向进行作弊,302重定向已经被视为垃圾信息,遭到各大搜索引擎的打击。因此,上面的代码返回302状态是不完善的,也是存在被百度等搜索引擎K站的风险的。

请看第二种方法:先返回301状态码后再重定向。

1
2
3
4
5
6
 
<?php
header('HTTP/1.1 301 Moved Permanently');
header(”Location: http://www.feiyuseo.com”);
exit;
?>

上面的这一段代码可以说是解决了使用Location产生302状态的问题,因此是比较完善的也是比较安全的网站重定向方法。就在准备收工的时候,我又突然发现了一段跳转代码,也是很不错的,比这个更精简,在这里我也为大家附上,一起分享。

1
2
3
4
<?php
header("Location: http://www.feiyuseo.com",TRUE,301););
exit;
?>

通过上面的这一行代码就实现的网站的301重定向,并且高效、安全、可靠运行。

上一篇:BZOJ 1202 狡猾的商人


下一篇:apache 网页301重定向、自定义400/403/404/500错误页面