我期待有我的WordPress网站的URL结构如下:
/pages
/pages/terms-of-service
/pages/workplace-policy
我有一页有鼻涕虫“页”。我有一页鼻涕虫“服务条款”,这是第一个孩子。
然而,当我去/pages/terms-of-service
,wordpress给了我一个404。有趣的是,如果我将第一个页面的slug重命名为page
或pagez
,它就可以工作。制作另一个例如父节点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
1条答案
按热度按时间hc8w905p1#
您的活动主题或任何活动插件,或任何类型的自定义可能会搞砸,
pages
slug在任何地方都不被wordpress核心函数使用。你可以检查重写规则是否有任何东西在使用它。
另外,只需在本地设置一个wp fresh安装,然后创建您拥有的页面结构。然后在上面复制您的活动主题。
然后在本地安装中逐个添加活动插件,看看是哪个插件导致了该错误。