Print

PHP网站部分静态页301转跳技巧


作者:有故事的人 文章来源:东坡网

本文原地址:http://www.dp1037.com/dpinfo-7-7-0.html

东坡网,为帝国cms加油

在网站运营过程中,经常遇到改版的情况,有时需要修改部分网页的目录结构,这时需要将旧的网页301到新网页。

举个实际的例子。

原来的tag系统网页结构是:tag列表网址——域名/tags/;各个tag网址——域名/tags/tagid/;

改版后的tag系统网页结构:tag列表网址——域名/chanpin/;各个tag网址——域名/chanpin/tag拼音/

设置301转跳分两步。

第一步:设置伪静态,将旧网址整体转跳到一个php页面

例子中的伪静态规则是这么写的:

RewriteRule ^tags/(.*)/$ tag301.php?tagid=$1

这样,就将所有旧页面都跳到了 域名/tag301.php 文件,接下来就通过php获取参数,将旧链接301转跳到新页面了。

第二步、PHP文件设置

在上面伪静态规则涉及的地方新建一个php文件,此php文件的作用有两个:一是网址转换,利用获取的参数将旧网址转换成新网址;二是实现301转跳。

php代码是这么写的:

function ReturnNewUrl($r){
	//具体代码省略
	return $url;
}
$newurl=ReturnNewUrl($_GET);
header("HTTP/1.1 301 Moved Permanently");
header("location:$nweurl");
exit; 

以上省略了具体的函数写法,不同情况对应的转换网址函数不同,需要单独编写。

至此,301转换完成。可以通过站长之家的“页面HTTP状态查询”工具查询旧网址状态。

更多 建站技术文档 请访问 http://www.dp1037.com/dpclass-7-0/

文章生成doc功能,由东坡网开发