Typecho伪静态Nginx完整配置代码

Typecho 后台开启伪静态后,前台文章链接仍然 404,多数情况是 Nginx 没有正确处理 PATH_INFO 参数。
本文给出一段可直接复制的完整配置代码,并说明在宝塔面板和手动编译环境中的落地步骤,照着改完就能让 /archives/1/ 这类链接正常访问。

先确认改哪里:server 段还是站点配置文件

Nginx 的伪静态规则必须写在对应站点的 server { } 块内。
如果你用宝塔面板,进入 网站 → 设置 → 配置文件,找到 server_name 所在的那一段,在 location / { } 内部替换规则。
手动安装的 Nginx 通常改 /etc/nginx/conf.d/你的域名.conf/usr/local/nginx/conf/nginx.conf,改完执行 nginx -t 检查语法,再 nginx -s reload 重载。

判断是否该改这里有一个简单标准:只要 Typecho 首页能打开、后台能登录,但文章页或分类页 404,就说明 PHP 和数据库没问题,缺的只是 URL 重写规则。

完整配置代码,直接替换 location 段

下面这段是 Typecho 在 Nginx 下常用的伪静态写法,核心是 try_filesindex.php 参数转发。
请把 你的域名PHP版本 换成实际值,宝塔用户可直接保留 enable-php-74.conf 这类已有 include 行。

server {
    listen 80;
    server_name 你的域名;
    root /www/wwwroot/你的站点目录;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php(.*)$ {
        fastcgi_pass unix:/tmp/php-cgi-74.sock;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* /\.(htaccess|git|svn) {
        deny all;
    }
}

关键点有三个:try_files 负责把不存在的静态路径交给 index.phpfastcgi_split_path_info 负责把 /index.php/archives/1/ 拆成脚本名和 PATH_INFO;fastcgi_param PATH_INFO 负责把拆分结果传给 PHP。
缺任意一项,Typecho 都可能拿不到正确的路由参数。

后台设置与验证:三步确认伪静态生效

配置改完并重载 Nginx 后,先登录 Typecho 后台,进入 设置 → 永久链接,确认已启用地址重写功能,并记下自定义的路径格式。

接着在浏览器直接访问一篇文章链接,例如 https://你的域名/archives/1/
如果返回 200 并正常显示内容,说明规则已生效。
再用命令行复查一次:

curl -I https://你的域名/archives/1/

返回头里出现 HTTP/1.1 200 OK 即正常;
若仍是 404,优先检查 try_files 是否写在了正确的 location / 内,以及 PHP 的 fastcgi_pass 地址是否和当前 PHP 版本一致。

容易踩的坑:404、500 与路径参数丢失

最常见的报错是 首页正常、文章 404,原因通常是 try_files 写成了 /index.php 但没有带 $is_args$args,导致查询参数丢失。
另一个高频问题是 500 错误,多由 fastcgi_pass 指向了不存在的 socket 或端口引起,宝塔用户可在 软件商店 → PHP 设置 → 配置修改 中查看当前监听方式。

如果文章能打开但分页或评论提交异常,检查 fastcgi_split_path_info 正则是否被其他 location ~ \.php 规则覆盖。
同一台服务器上多个站点共用 Nginx 时,每个站点都要单独配置,不能只在默认站点里写一次。

写在最后

Typecho 伪静态 Nginx 完整配置代码并不复杂,核心就是 try_files 转发加 PATH_INFO 参数传递。
改完先 nginx -t 再重载,用文章链接和 curl -I 双重验证,基本可以覆盖零基础用户遇到的大部分伪静态问题。
若你的环境使用了 CDN 或反向代理,还需确认回源路径没有被改写,否则规则本身正确也可能出现 404。

分享到:
上一篇
Typecho自定义后台菜单,简化小白管理界面
下一篇
Typecho开启对象存储,图片上传到OSS
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意