You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress中slug为pages导致子页面404错误求助

WordPress父页面slug为“pages”时子页面404的问题排查与解决

问题原因

WordPress内部路由系统或重写规则对pages这个slug存在特殊处理逻辑——由于它是默认页面(page)的复数形式,核心路由可能将其误判为内置规则的一部分,导致请求无法正确匹配到对应的子页面,即便数据库中没有重复的post_name记录。

解决方法

1. 添加自定义重写规则

在当前主题的functions.php文件中添加以下代码,强制将/pages/xxx格式的请求路由到对应的子页面:

function custom_pages_rewrite_rule() {
    add_rewrite_rule(
        '^pages/([^/]+)/?$',
        'index.php?pagename=pages/$matches[1]',
        'top'
    );
}
add_action('init', 'custom_pages_rewrite_rule');

添加完成后,进入WordPress后台的设置→固定链接页面,点击“保存更改”按钮刷新重写规则。

2. 重置固定链接规则

如果当前使用的是默认固定链接结构,尝试切换到自定义结构(例如/%category%/%postname%/),保存后再切换回原设置,确保重写规则完全重置。

3. 排查插件冲突

暂时禁用所有第三方插件,测试/pages/terms-of-service是否能正常访问。若恢复正常,逐个启用插件,找到引发冲突的插件后进行更新或替换。

4. 检查服务器配置

  • 确认服务器已启用mod_rewrite模块(Apache环境);
  • 确保.htaccess文件权限设置为644,且WordPress拥有写入权限;
  • 联系主机服务商确认服务器全局配置中是否存在拦截pages开头请求的额外规则。

内容的提问来源于stack exchange,提问作者Victor Pudeyev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 04:12:24