WordPress固定链接404-宝塔Nginx伪静态四步对齐 WordPress 改完固定链接文章全 404别重装宝塔 / Nginx 伪静态按这 4 步对齐适用场景宝塔面板 Nginx或 Apache部署 WordPress后台把固定链接从「朴素」改成「文章名」等漂亮链接后首页能开文章 / 页面 / 分类一打开就是 404。写作原则先分清「是不是伪静态问题」再按层对齐多数站 510 分钟就能修好不必重装站点。先说结论漂亮固定链接要同时满足两件事服务器能把「看起来像静态路径」的请求转交给 WordPress 的index.php处理WordPress后台已保存过对应的固定链接结构内部重写规则是新的只改后台、不配伪静态 → 前台 404。只配伪静态、不点保存固定链接 → 有时也会 404 或链接结构仍旧。首页能开、文章 404优先怀疑伪静态而不是数据库坏了、主题坏了、要重装。30 秒自检先确认你卡在哪一层按下面顺序测别一上来就改服务器配置。测试怎么做结果怎么读A. 朴素链接是否正常后台 →设置 → 固定链接临时选「朴素」形如/?p123保存后访问一篇文章能开站点本身正常问题在「漂亮链接 ↔ 伪静态」仍 404先查站点是否指向错目录、PHP 是否异常B. 是否只有文章 404访问首页、后台、/?p文章ID首页和后台正常、只有漂亮 URL 挂 → 典型伪静态问题C. 是否刚改过环境新装宝塔、从 Apache 迁到 Nginx、换过域名 / 子目录旧规则没带过来很常见测完再进下面 4 步。改完一层就用一篇真实文章 URL 验证一次别一口气改五处。第 1 步在宝塔里给站点挂上 WordPress 伪静态Nginx宝塔最常见登录宝塔面板左侧网站→ 找到你的站点 →设置打开伪静态下拉菜单选择wordpress有的版本写作wordpress/wp点保存宝塔预设里核心一般是这段与 WordPress 官方 Nginx 文档思路一致location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent;含义很直白先看磁盘上有没有真实文件 / 目录没有就交给/index.php并把查询参数带上?$args很重要不然部分带参数的漂亮链接会异常顺带把访问/wp-admin无尾斜杠规范成/wp-admin/保存后一般规则会立刻进站点配置。若你手动改过「配置文件」保存伪静态时注意不要把完整的server { ... }整段贴进伪静态框伪静态区域只放location/rewrite片段。如果下拉没有 wordpress或保存后仍 404在伪静态文本框里手动粘贴上面那段核心规则再保存。然后到宝塔软件商店 → Nginx → 重载配置或「重载」避免旧 worker 仍用旧规则。Apache相对少但也会踩Apache 主要依赖站点根目录的.htaccess。请确认根目录存在.htaccess且 WordPress 有权限写入虚拟主机允许覆盖常见要求AllowOverride All后台重新保存一次固定链接让 WordPress 重写.htaccess.htaccess被删、权限只读、或面板开了「禁止修改」时漂亮链接同样会 404。第 2 步回到 WordPress重新保存固定链接伪静态配好后务必做这一步很多人漏登录后台设置 → 固定链接选择你需要的结构企业站 / 博客常见选文章名即/%postname%/什么都不改也可以直接点底部保存更改这一步会刷新 WordPress 内部的重写规则。官方文档也说明漂亮固定链接依赖服务器侧正确配置保存设置是让 WordPress 与服务器规则对齐的标准操作。结构怎么选实用建议选项示例适用朴素/?p123仅排障临时用不适合正式站文章名/hello-world/多数内容站、企业站首选数字/archives/123也可但可读性一般自定义/%category%/%postname%/可以但分类调整后 URL 易变改结构前先想清楚 301英文 slug 更稳中文 slug 能用但在部分 CDN、下载、邮件客户端里偶发兼容问题。新站尽量用有意义的英文短横线 slug。第 3 步清缓存后再测避免「修好了但你还在看旧 404」伪静态和固定链接都保存后若装了缓存插件WP Rocket、LiteSpeed Cache、WP Super Cache、W3 Total Cache 等→清空全部缓存若前面还有 Cloudflare / 国内 CDN → 到 CDN 控制台做一次清除缓存或临时对 HTML 开开发模式再测浏览器无痕窗口打开首页 → 点进一篇文章 → 再测一个页面、一个分类判断标准漂亮 URL 能打开且地址栏不再回到?p→ 本层完成仍 404 → 进入第 4 步查冲突而不是反复重装 WordPress第 4 步仍 404 时按这张冲突清单往下排下面这些是实战里「伪静态看起来选了 wordpress却仍然 404」的高频原因。1站点根目录指错了宝塔「网站」里的根目录必须指向 WordPress 的安装目录里面有wp-config.php、wp-admin、index.php。指到上一级空目录、或旧站残留目录会出现各种奇怪 404。2配置文件里有第二个location /打开站点设置 → 配置文件搜索location /。若伪静态写了一套配置文件里又手写了一套且互相覆盖try_files可能根本没生效。处理原则伪静态框负责 WordPress 重写其它自定义规则尽量写成更具体的location避免再造一个笼统的location /改完后重载 Nginx再测。3子目录安装 WordPress若站点装在https://example.com/blog/这类子目录伪静态仍要有try_files ... /index.php?$args;相对该站点 server 的根后台设置 → 常规里的「WordPress 地址 / 站点地址」要带上/blog子目录场景比根目录更容易配错改完两边都要测4只开了 HTTPS但站点地址还是 http这不一定直接导致「文章 404」但常伴随跳转混乱、资源异常。请核对宝塔已部署证书并勾选强制 HTTPS后台设置 → 常规两个地址都是https://开头5安全 / WAF / 防盗链误杀宝塔防火墙、Wordfence、CDN WAF 偶尔会把带路径的请求拦成 403/404。可临时对照防火墙拦截日志若正好卡在文章 URL先放行再优化规则而不是关掉所有防护。6用「几乎漂亮」的链接做对照若漂亮链接一直失败可临时把固定链接设成/index.php/%postname%/这类「Almost Pretty」对重写要求更低。若这种能开、纯漂亮不能开基本就坐实服务器重写规则仍未生效继续查 Nginx /.htaccess而不是查主题。一张对照表现象 → 优先查什么现象优先处理首页正常文章漂亮 URL 404宝塔伪静态选 wordpress 重载 Nginx改完固定链接立刻全站内页 404伪静态未保存 / 被配置文件覆盖/?pID正常文章名 404典型重写未生效后台也 404先查根目录、Nginx 配置语法、PHP不一定是固定链接清缓存前偶发好偶发坏页面缓存 / CDN 缓存旧响应只有某个固定分类路径 404查分类 slug、重定向插件、是否手写了冲突 rewrite修好后建议固定下来的习惯新站上线清单里写死两行伪静态 wordpress固定链接保存一次迁服务器 / 换 Nginx / 改根目录后把「伪静态 保存固定链接」当必做项不要频繁改 URL 结构已经有收录的老站改结构要配套 301否则是 SEO 问题不是伪静态问题排障时优先用「朴素链接能否打开」一刀切开能开就别重装小结WordPress「改完固定链接就 404」在宝塔环境下绝大多数不是程序坏了而是服务器重写伪静态和后台固定链接规则没有对齐。按本文顺序做自检确认是漂亮链接问题宝塔伪静态选 / 粘贴 WordPress 规则并保存必要时重载 Nginx后台再保存一次固定链接清缓存仍失败再查根目录、重复location /、子目录、WAF把这 4 步当成标准动作比「重装 WordPress / 换主题碰运气」可靠得多。如果你正在做企业站或内容站的基础运维也可以把这类「上线必检项」收进自己的维护清单我在 数据高原 也会持续整理这类可复用的 WordPress 实操笔记方便对照排查。参考便于自行复核WordPress 官方文档Customize permalinksWordPress 官方 Nginx 配置说明中的try_files $uri $uri/ /index.php?$args;写法Nginx