网站改版后如何将每个页面301跳转

在网站运营进程中,常常遇到改版的状况,有时需求修正局部网页的目录构造,这时需求将旧的网页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形态查询”工具查询旧网址形态。
 
至于其它编码的网站,原理是一样的。
 
【以上办法由pmume提供,运用帝国cms的站长晓得此人的应该比拟多】
 

 
楼主帖子中提到,新旧网址的规则完全是混乱的,这个可能性不大,或许状况比拟多,完全没有规则是不能够,总能写个函数将新旧网址对应起来,真实不行,那就手动写一个数组。
$url_r=array(
array("旧网址1","新网址1"),
array("旧网址2","新网址2"),
)
复制代码
 
经过查找数组,就能找到新网址

【本文关键词】:301跳转