WordPress的蛞蝓“页面”冲突,并导致错误404

htrmnn0y  于 2023-05-22  发布在  WordPress
关注(0)|答案(1)|浏览(157)

我期待有我的WordPress网站的URL结构如下:

/pages
/pages/terms-of-service
/pages/workplace-policy

我有一页有鼻涕虫“页”。我有一页鼻涕虫“服务条款”,这是第一个孩子。
然而,当我去/pages/terms-of-service,wordpress给了我一个404。有趣的是,如果我将第一个页面的slug重命名为pagepagez,它就可以工作。制作另一个例如父节点page2也可以工作,路由/pages2/terms-of-service给我的代码是200 OK。有一些特定于slug pages的东西导致了这个问题,我不知道它是什么。
我点击了永久链接中的“保存”,这会刷新它们。
我的htaccess看起来像这样:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我已经验证了数据库中没有post_name是“pages”:

select distinct id, post_title, post_name from wp_posts 
  where post_name like '%page%'
  order by post_name asc
hc8w905p

hc8w905p1#

您的活动主题或任何活动插件,或任何类型的自定义可能会搞砸,
pages slug在任何地方都不被wordpress核心函数使用。
你可以检查重写规则是否有任何东西在使用它。
另外,只需在本地设置一个wp fresh安装,然后创建您拥有的页面结构。然后在上面复制您的活动主题。
然后在本地安装中逐个添加活动插件,看看是哪个插件导致了该错误。

相关问题