Typecho 伪静态:Nginx 与 Apache 两套重写规则

Typecho 的固定链接靠地址重写(rewrite)实现,但要两边配合才算配置完成:博客控制台里开启永久链接的地址重写,Web 服务器端还要有对应的伪静态规则。只开控制台那一步,常见报错是“重写功能检测失败, 请检查你的服务器设置”,缺的就是服务器规则。

图片[1]-Typecho Apache和Nginx伪静态规则及设置方法-本站
Typecho伪静态如何配置-本站
站长的头像-本站

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
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容