WordPress 固定链接一改就分页 404?别慌,90% 的人不知道这一招就能搞定
2026-04-10很多 WordPress 站长都有过这样的经历:为了提高 SEO 或者让 URL 更美观,兴冲冲地去后台修改了固定链接结构(比如从“?p=123”改成“/%postname%/”),结果发现——首页正常,文章页正常,但点开“下一页”(分类页的分页、标签页的分页、甚至存档页的分页)时,直接弹出刺眼的 404 页面。是不是觉得很奇怪?明明内容就在那里,为什么分页就找不到了?
其实这不是 BUG,而是 WordPress 的一个经典“小脾气”:URL 重写规则没有自动刷新。好消息是,修复它不需要改代码、不需要懂服务器配置,甚至不需要安装任何插件。本文将给你一个最直接、最有效的修复方法,以及背后的原理,让你以后再也不被分页 404 困扰。
为什么调整固定链接后,分页会 404?
WordPress 的伪静态链接(比如/category/news/page/2/)并不是服务器上真实存在的文件夹或文件,而是通过 .htaccess(Apache)或 Nginx 配置 将 URL 重写(rewrite)到index.php,再由 WordPress 解析参数、调取内容。
这个重写规则由 WordPress 核心动态生成并保存在数据库中。当你修改固定链接结构时,WordPress 理论上应该自动刷新这些规则。但很多情况下(尤其是使用了缓存插件、某些安全插件、或者服务器环境特殊),规则没有被正确更新。于是,分类页第一页正常(因为 URL 不包含/page/2/),但分页 URL 找不到对应的重写规则,自然就 404 了。
一键修复方法:比重启服务器还简单
你不需要打开 FTP,不需要修改 .htaccess,更不需要联系主机商。只需 3 步:
- 登录 WordPress 后台(你的域名/wp-admin)
- 左侧菜单点击 “设置” → “固定链接”
- 直接点击 “保存更改” 按钮(不需要修改任何选项)
就这么简单。 点击保存后,WordPress 会立即重新生成并刷新 URL 重写规则。刷新你的分类页(比如你的域名/category/news/page/2/),你会发现分页 404 已经消失了,内容完美显示。
如果“保存更改”还是 404?试试这三招
对 99% 的网站来说,上面那一招已经解决问题了。但如果你的网站恰好处在那 1%,可以按顺序尝试以下方法:
方法二:手动刷新 .htaccess 文件(Apache 服务器)
通过 FTP 或主机文件管理器,找到网站根目录下的.htaccess文件(注意前面有个点,是隐藏文件)。下载一份备份后,编辑该文件,确保包含以下 WordPress 默认重写规则:
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
如果没有这段规则,手动加上并保存。然后回到后台“固定链接”页面,再次点击“保存更改”。
方法三:清除所有缓存(尤其是缓存插件和 CDN)
很多情况下,旧的重写规则被缓存插件(WP Rocket、W3 Total Cache、LiteSpeed Cache)或者 CDN(Cloudflare)缓存了下来。即使 WordPress 内部规则已刷新,你看到的还是旧的缓存页面。
- 进入缓存插件设置,点击“清除所有缓存”。
- 登录 Cloudflare 后台,点击“清除缓存”(Purge Everything)。
- 使用浏览器的无痕模式或清除浏览器缓存后重新访问分页。
方法四:强制刷新 Permalink 规则(代码方式)
如果后台保存无效,可以临时添加一段代码强制刷新。在主题的functions.php中添加以下代码,然后访问一次网站首页,再删除该代码:
add_action('init', function() { flush_rewrite_rules(); });
注意:这段代码会在每次页面加载时刷新重写规则,会轻微影响性能,所以用完必须立即删除。
进阶场景:自定义分类法(Custom Taxonomy)或自定义文章类型的分页 404
如果你使用了自定义文章类型(比如book)或者自定义分类法(比如genre),修改固定链接后也可能出现分页 404。解决方法类似:
- 先去“设置”→“固定链接”点击“保存更改”。
- 如果还不行,检查注册自定义文章类型/分类法时是否设置了'rewrite' => array('slug' => 'xxx'),并且 flush_rewrite_rules 已执行。
- 推荐在注册自定义文章类型的插件或主题中,在激活钩子里调用flush_rewrite_rules(),但注意只执行一次。
为什么不要直接去改 .htaccess 或 Nginx 配置?
有些新手一看到 404,第一反应是“去服务器改配置文件”。但这不是正确的思路。WordPress 的 URL 重写规则是动态的,插件、主题、甚至不同语言版本都可能修改它。手动修改 .htaccess 或许能临时解决问题,但下次更新固定链接或安装新插件后,规则可能再次冲突。正确的做法永远是:让 WordPress 自己管理重写规则,你只负责“触发刷新”。而“保存更改”就是最安全、最官方的方式。
预防分页 404 的最佳习惯
- 在本地或测试环境先修改固定链接,确认无误后再到线上操作。
- 修改固定链接之前,暂时关闭所有缓存插件(尤其是页面缓存和数据库缓存)。
- 修改完成后,用不同的浏览器和不同设备(包括手机)测试分类分页、标签分页、存档分页、搜索结果分页。
- 定期备份数据库和 .htaccess 文件,以防万一。
一句话总结
WordPress 固定链接调整后分页 404,99% 的情况只需要去“设置 → 固定链接”页面点一下“保存更改”即可解决。 这不是玄学,而是刷新重写规则的标准操作。如果还不行,依次尝试:清除所有缓存 → 检查 .htaccess 是否包含默认规则 → 用代码强制 flush_rewrite_rules。掌握了这个技巧,你以后再也不会被分页 404 吓到了。
现在就去检查一下你的网站分类分页吧,说不定这个隐藏的问题已经存在很久了。
声明:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015
