PHP代码实现301跳转页面实例

301跳转就是告诉访问者页面己经永远到了新的页面了,在php中使用301跳转我们利用header()函数发送301状态代码告诉浏览器,然后再实现页面跳转即可。

PHP纯代码跳转,代码如下:

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

但是这种返回的状态码是302,如果要实现301跳转的话,需要在之前设置下状态码,代码如下:

  1. <?php
  2. header( "HTTP/1.1 301 Moved Permanently" ) ;
  3. header("Location:http://www.phpfensi.com/");
  4. ?>

更简单的PHP跳转301代码,代码如下:

  1. <?php
  2. $urlto='http://www.phpfensi.com/';
  3. header('Location: '.$urlto, TRUE, 301);
  4. ?>

可能出现的问题

Warning: Cannot modify header information - headers already sent by把文件编码改成 UTF-8无BOM格式,可解决该问题,如果还是有问题,就检查下该代码前是否定义了字符串变量,删除这个变量再试试。

附:30*返回状态码的区别

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

1.301 redirect: 301 代表永久性转移(Permanently Moved)

2.302 redirect: 302 代表暂时性转移(Temporarily Moved )

这两种转移在使用的时候有啥好处或者问题?

301 重定向是网页更改地址后对seo搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

302 重定向是临时性转移。