A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 庭院深深深几许 金牌黑马   /  2019-1-4 15:54  /  1782 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于我们SEO人员来说,有的时候需要对网站进行重定向。一般来说,对网站重定向的http返回状态码是301和302两种。下面就通过实例来为你介绍一下怎样通过PHP使用header+Location实现网站301重定向。
[PHP] 纯文本查看 复制代码
<?php
header("Location: [url]http://www.itcast.cn[/url]");
exit;
?>

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

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

上面的这一段代码可以说是解决了使用Location产生302状态的问题,因此是比较完善的也是比较安全的网站重定向方法。就在准备收工的时候,我又突然发现了一段跳转代码,也是很不错的,比这个更精简,在这里我也为大家附上,一起分享。
[HTML] 纯文本查看 复制代码
<?php
header("Location: [url]http://www.itcast.cn[/url]",TRUE,301););
exit;
?>



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马