typecho 文章路径实现 a/{slug} 显示

以下操作方法由 Gemini 提供,修改相关文件请备件原件。⚠️

在 Typecho 中,想要把 URL 样式从 a/{slug}.html 改为 a/{slug}(即去掉 .html 后缀),最直接、最优雅的方法是直接在后台的路由规则中进行修改。

1、设置 URL Rewrite 重写。

1)在 typecho 后台中启用地址重写功能,在修改自定义路径设置,选择 个性化自定义
​2)将输入框中的内容修改为: a/{slug} (后面不要带 / ),然后保存。

2、配置服务器伪静态。

如果你使用的是 Nginx(如宝塔面板、LNMP 等),在网站的 Nginx 配置文件(或伪静态设置)中加入以下规则:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

3、关于 SEO 301 重定向

如果你的网站之前已经运行了一段时间,旧的 a/{slug}.html 链接已经被搜索引擎收录,或者被外部链接引用,直接修改会导致这些旧链接变成 404。
​为了避免权重丢失,建议在 Nginx 配置文件中加上一条 301 重定向规则,把带 .html 的旧链接自动跳转到不带 .html 的新链接:

# 将旧的 a/xxx.html 301 重定向到 a/xxx
rewrite ^/a/(.*)\.html$ /a/$1 permanent;