Typecho 的固定链接靠地址重写(rewrite)实现,但要两边配合才算配置完成:博客控制台里开启永久链接的地址重写,Web 服务器端还要有对应的伪静态规则。只开控制台那一步,常见报错是“重写功能检测失败, 请检查你的服务器设置”,缺的就是服务器规则。
![图片[1]-Typecho Apache和Nginx伪静态规则及设置方法-本站](https://img.cdn.st/images/af4faf93f8b7de479cdc9c41bb6ef045.jpg)


Nginx 伪静态
Nginx 通过站点配置或单独的 .conf 文件调用规则。Typecho 的规则如下:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
rewrite (.*) /index.php;
}
把规则存成 typecho.conf,在站点配置里 include 进来。Nginx 安装路径各不相同,include 位置以当前环境为准。
Apache 伪静态
Apache 走网站根目录的 .htaccess,规则如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
写好后保存上传到网站根目录即可,前提是 mod_rewrite 已启用。
收尾检查
规则生效后回控制台重新检测固定链接,再访问一篇旧文章确认没跳 404。Windows/IIS 环境不适用这两套规则,需要对应主机的重写配置;用了缓存插件或 CDN 的,改完记得清一遍缓存再验证。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















暂无评论内容