PHP网站部分静态页301转跳技巧
时间:2023年06月10日
/来源:网络
/编辑:佚名
在网站运营过程中,经常遇到改版的情况,有时需要修改部分网页的目录结构,这时需要将旧的网页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状态查询”工具查询旧网址状态。
举个实际的例子。
原来的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状态查询”工具查询旧网址状态。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03