Loading... ## 前言 <div class="tip inlineBlock warning"> 本文仅用于开启typecho地址重写且适合本站跳转路径的情况下。 </div> 在建站时,因认为 `/{文章分类}/{文章ID}.html` 的文章路径好看。所以一直都没有去修改过,导致被百度收录久了之后又想改文章路径怕百度的收录全掉了,现在带来 301跳转 的教程,让百度认为文章只是迁移到了新的地方而不是删除了文章。(记得去提交`百度改版`哦) ## 代码 适用路径:`website.com/{文章分类}/{文章ID}.html` 适用路径:`website.com/{文章分类}/{文章ID}.html/` 适用路径:`website.com/{文章分类}/{文章ID}.html/comment-page-{评论页}` 跳转路径:`website.com/{文章ID}.html` 跳转路径:`website.com/{文章ID}.html/comment-page-{评论页}#comments` 1. 打开所使用的主题下的 `404.php` 文件(一般页面不存在会使用主题的404错误页面),在`适合`的位置插入以下代码 ```php <?php // 旧链接 301跳转 新链接 // 适用于 {文章分类}/{文章ID}.html 跳转到 {文章ID}.html $Host = $_SERVER['HTTP_HOST']; // 获取当前主机域 $Url = $_SERVER['REQUEST_URI']; // 获取当前访问网页的相对路径 $pattern = '/^\/([a-z]+)\/([0-9]+).html\/?(comment-page-[0-9]+)?$/'; // 正则匹配规则(包含各种情况,如 1.html/、1.html/comment-page1) if (strpos($Url, 'comment-page') !== false) { // 检查访问路径是否包含 comment-page 字符串 $replacement = '/$2.html/$3#comments'; // 正则替换规则(包含评论路径) } else { $replacement = '/$2.html'; // 正则替换规则(默认) } if (preg_match($pattern, $Url)) { // 访问路径与正则匹配成功匹配时 $newUrl = preg_replace($pattern, $replacement, $Url); // 进行字符串替换 header('HTTP/1.1 301 Moved Permanently'); // 请求HTTP头301 header("location://".$Host.$newUrl); // 跳转至新页面 } ?> ``` 2. 保存此次修改后,访问之前的链接即可跳转到新的地址啦!~如果有什么不明白的欢迎评论。 ## 百度改版 打开 [https://ziyuan.baidu.com/rewrite/](https://ziyuan.baidu.com/rewrite/),点击添加 改版规则>规则改版 填入以下内容(推荐尽量填写百度有收录的链接哦) ### 参考文章 > [typecho更改文章路径后做301跳转以匹配百度收录的改版规则 - YLEEN的魔导书](https://yleen.cc/archives/167.html) 最后修改:2023 年 08 月 09 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请赏我一杯奶茶的钱... 噢,我是说如果.
1 条评论
网站办的不错的,加油