在网站运营过程中,经常遇到改版的情况,有时需要修改部分网页的目录结构,这时需要将旧的网页301到新网页。
举个实际的例子。
原来的tag系统网页结构是:tag列表网址——域名/tags/;各个tag网址——域名/tags/tagid/;
改版后的tag系统网页结构:tag列表网址——域名/chanpin/;各个tag网址——域名/chanpin/tag拼音/
设置301转跳分两步。
例子中的伪静态规则是这么写的:
RewriteRule ^tags/(.*)/$ tag301.php?tagid=$1
这样,就将所有旧页面都跳到了 域名/tag301.php 文件,接下来就通过php获取参数,将旧链接301转跳到新页面了。
在上面伪静态规则涉及的地方新建一个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状态查询”工具查询旧网址状态。
©2013-2019 DP1037.COM东坡网,致力于帝国cms插件和二次开发,为帝国cms加油! 备案号:粤ICP备14036885号-2