专栏首页Zeruns的博客typecho开启永久链接及旧链接301跳转

typecho开启永久链接及旧链接301跳转

typecho开启永久链接及旧链接301跳转解决404问题

前言

刚看到@风也温柔关于typecho永久链接的文章,也想给自己博客的链接结构修改一下,变得更简洁一点。 感谢@风也温柔大佬提出的解决方案。 本文章部分内容来自:https://eas1.cn/167.html 本文章讲解将链接结构从https://blog.zeruns.tech/index.php/archives/{cid}/修改为https://blog.zeruns.tech/archives/{cid}.html,其他链接结构修改方法可参考上面的链接,@风也温柔的文章没有讲这种链接结构的修改方法,我就补充一下。

开启永久链接

开启伪静态并添加下面的伪静态配置,这是Apache的配置,nginx自己找

<IfModule rewrite_module>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

typecho后台开启永久链接

修改旧链接跳转

打开主题的404.php文件,在合适的位置添加以下代码

<?php
$error_url = '//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$id = strstr($error_url, 'index.php/archives');    //截取以posts开始的字符串
if($id != "" ||$id != null){//判断是否不等于空或者null
    $str = substr($id,18);
    $id2 = substr($str,-1);
    if($id2 != '/'){
      header('HTTP/1.1 301 Moved Permanently'); //添加301状态码
      header("location://".$_SERVER['HTTP_HOST']."/archives".$str.".html");//跳转页面
    }  //https://blog.zeruns.tech
    elseif($id2 == '/'){
     $nameid = substr($str,0,-1);
      header('HTTP/1.1 301 Moved Permanently'); //添加301状态码
      header("location://".$_SERVER['HTTP_HOST']."/archives".$nameid.".html");//跳转页面 
    }
}
?>

也可以在config.inc.php文件中

/** 载入路由器支持 */
require_once 'Typecho/Router.php';

的上面放上面的代码,不过在这放要去掉<?php?>

百度网站改版

打开:https://ziyuan.baidu.com/rewrite/

如果不知道如何填写正则规则,可以参考:https://ziyuan.baidu.com/college/courseinfo?id=267&page=5#h2_article_title22

本文分享自微信公众号 - Zeruns(zeruns-gzh),作者:zeruns

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 个人独立博客搭建教程(win),如何快速搭建博客

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。全球约34%的网站都在用WordPress...

    zeruns
  • Python计算身份证第18位(校验码)来判断身份证是否输入正确

    例如:某女性的身份证号码是220202202002020022。我们要看看这个身份证是不是合法的身份证。 首先我们得出前17位的乘积和是98,然后用98除以11...

    zeruns
  • 搭建MC(我的世界)服务器,带Web管理面板

    这里以腾讯云为例,其他服务器推荐:https://blog.zeruns.tech/archives/383.html

    zeruns
  • IIS 7.5 解析错误 命令执行漏洞解决方案

    这篇文章主要介绍了IIS 7.5 解析错误 命令执行漏洞解决方案,需要的朋友可以参考下

    习惯说一说
  • 关于 Markdown 的一些奇技淫巧

    自从几年前开始在 GitHub 玩耍,接触到 Markdown 之后,就一发不可收拾,在各种文档编辑上,有条件用 Markdown 的尽量用,不能用的创造条件也...

    mzlogin
  • 笔记:NEC QTP 第五个实例-ClassCol

        strSentence = strSentence & "set obj = New " & className '创建对象   

    超级大猪
  • mybatis动态sql之foreach补充(二)

    绝命生
  • [C#2] 2-匿名方法

    1.匿名方法应用和机制 先看一段代码(C#1.0): 1 //这里加了参数<为了说明delegate关键字后面的参数列表> 2 public delegat...

    blackheart
  • 如何编写入门级redis客户端

    概述 Redis是开源的、基于内存的数据结构存储系统,可用作数据库、缓存以及消息代理方面。Redis支持许多种数据结构,并内置了丰富的诸如冗余、脚本、事务、持久...

    xiangzhihong
  • 他要用以太坊颠覆一切!!!

    Vitalik Buterin,数字货币网络以太坊的创造者,想利用其开发的技术颠覆一切。 德国柏林,6月17日周五早上8点15份,一片混乱,Slock.it这...

    点滴科技资讯

扫码关注云+社区

领取腾讯云代金券