用php实现网站全站301重定向到另一个域名

什么是301转向?

301转向(又叫301跳转,301重定向)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,500内部请求错误,等等。
网站做转向的方法:
网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META. REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。
301转向的必要性
当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。好处是,
第一,没有网址规范化问题
第二,也很重要的,网页A的PR网页级别会传到网页B
第三,收录不会因为域名更换而变化.

实现

<?php 
$url="http://www.visualay.com".$_SERVER["REQUEST_URI"]; 
header("HTTP/1.1 301 Moved Permanently"); 
header ("Location:$url"); 
?>

以上代码就是要实现的301跳转功能。只要将以上代码放到你需要跳转的页面的头部即可,注意:以上代码前面不能有任何的输出.

测试:

要测试就用curl这个小软件来检查.
#curl -I http://www.ctdz.com.cn/index.php
HTTP/1.0 301 Moved Permanently
Date: Tue, 06 May 2008 06:27:39 GMT
Server: apache
Location: http://www.visualay.com/index.php
如见到上面的HTTP/1.0 301 Moved Permanently时,就表示可以了.下次只要点相关的链接,会自动转向新的链接,搜索引擎也会自动更新成新的链接

Leave a Comment