PHP的跳转方式有很多种,而比较常用的跳转主要有301永久重定向和302临时重定向两种。

301永久重定向(Permanently Moved)就是告诉访问者受访问页面已经永久变更到新的地址,同时搜索引擎也将抓取新的页面并将旧页面的网址替换为新地址。302临时重定向(Temporarily Moved)则是暂时的跳转,因为服务器返回302代码,搜索引擎会抓取新的内容而保留旧的网址,因此不太利于SEO。301和302重定向都可以在服务器端解析设置,这边主要讲的是通过PHP代码的形式实现301跳转。

一般情况下(非301/302)的网页跳转实例(访问网页N秒后跳转到制定地址)

<head>
<!-- 在访问该网页2秒后跳转到http://www.iyu.co页面 -->
<meta http-equiv="refresh" content="2;url=http://www.iyu.co"> 
</head>
//这边意思是访问2秒后跳转到制定URL,可以自行更改数字和地址,如改为0来设定直接跳转到制定URL

在网站更改域名以及更改网址链接规则时,站长经常用301永久重定向跳转来避免由搜索引擎进入网站的访客无法找到原来的页面。一般来说用到302跳转的情况比较少,下面就来讲一下通过PHP实行301重定向的方法:

纯PHP跳转/302临时重定向

<?php
header('Location:http://www.iyu.co/');
?>

301永久重定向(在上述代码基础上添加301标记)

<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location:http://www.iyu.co');
?>

301代码也可以写成下面这样

<?php
header('Location:http://www.iyu.co/', TRUE, 301);
?>

当然我们也可以先定义一个变量$url,值为要跳转到的地址,然后第二行调用url地址到301规则内实现跳转之后每次只需要改掉$url=''内的地址就可以更改重定向地址,如下:

<?php
$url='http://www.iyu.co/';
header('Location: '.$url, TRUE, 301);
?>

说了这么多,那么大家应该用301重定向还是302重定向呢?

简单地说,只要不是暂时搬移的情况,都建议使用301永久重定向,这样有利于SEO。