Wordpress:奇怪的重写问题,/ randomstring / categoryname有效

时间:2012-08-10 16:09:45

标签: wordpress

背景知识,我们管理着一个由25个不同WP站点组成的网络,这些站点都运行在相同的代码库中。最近我们有一个SEO分析师加入,他注意到有几个网站有奇怪的404问题,对于这样的网址:

**/category/featured-article/ryan-mcnamara-new-different/news/page/2/**

所以我禁用了所有插件和挂钩,尝试全新安装,这些东西仍在发生。事实证明,只有网站的永久链接结构才会以.html结尾。所以我深入研究了重写代码,结果发现这是网址发生的最新情况:**/category/featured-article/ryan-mcnamara-new-different/news**

  • 如果永久链接结构是**/%category%/%postname%/**,那么 可用的重写规则($wp_rewrite->rewrite_rules())然后这个规则 匹配:**(.+?)/([^/]+)(/[0-9]+)?/?$**,导致404符合预期。
  • 如果永久链接结构是**/%category%/%postname%.html**,那么这个 规则匹配:**(.+?)/?$**,映射到 **index.php?category_name=$matches[1]**,因此该类别为何 当用户/机器人找到这些类别页面并单击时,呈现 他们被带到的分页链接 **/category/featured-article/ryan-mcnamara-new-different/news/page/2/**,哪个 导致404。

第一个问题是人们如何首先找到这些页面,这是我可以处理的问题。这个论坛的问题是这是一个错误,重写WP有默认值,或者paginate_links函数是否应该更聪明地创建分页URL?有没有人见过这个问题?

警告:不,我不能强制所有网站删除.html,并且我没有能力为此问题更改核心WP代码

0 个答案:

没有答案