行业资讯

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 步:

  1. 登录 WordPress 后台(你的域名/wp-admin)
  2. 左侧菜单点击 “设置” → “固定链接”
  3. 直接点击 “保存更改” 按钮(不需要修改任何选项)

就这么简单。 点击保存后,WordPress 会立即重新生成并刷新 URL 重写规则。刷新你的分类页(比如你的域名/category/news/page/2/),你会发现分页 404 已经消失了,内容完美显示。

如果“保存更改”还是 404?试试这三招

对 99% 的网站来说,上面那一招已经解决问题了。但如果你的网站恰好处在那 1%,可以按顺序尝试以下方法:

方法二:手动刷新 .htaccess 文件(Apache 服务器)

通过 FTP 或主机文件管理器,找到网站根目录下的.htaccess文件(注意前面有个点,是隐藏文件)。下载一份备份后,编辑该文件,确保包含以下 WordPress 默认重写规则:

# BEGIN WordPress  RewriteEngine 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

相关推荐

X

截屏,微信识别二维码

微信号:13684931649

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!