WordPress的URL重写规则产生404错误

立式

我正在处理一个主题,其中似乎存在404错误和重写规则。规则如下:

products/([^/]+)/page/?([0-9]{1,})/?$

index.php?portfolio=$matches[1]&paged=$matches[2]

第一页看起来很好,但分页的url请求看起来不正确:

http://www.site.com/products/page/2

在我假设的地方,根据重写规则,它应该看起来像:

http://www.site.com/products/foo/page/2

所以我要解决foo这似乎是一个丢失的水平/串([^/]+),我以为这是某种形式的PCRE /的preg_match的,如上所述在这里,我不是很了解。据我所知,它的意思是:

开始子模式>开始字符类定义>断言主题的开始(或行,在多行模式下)>无头绪>结束字符类定义> 1个或多个量词>结束子模式

更新:

这与我设计的主题无关。我使用了重写规则检查器来查找重写规则查询。

问题在于带有画廊简码的分页链接。该短代码可以在网站的主页上使用,但是在其他页面(即/ products页面)上调用它,然后尝试访问下一页时,系统会显示404。当永久链接设置为默认值时,它可以使用。这就是为什么我认为问题出在重写规则上。

解决方案:

在仔细研究了插件并修改了重写行为之后,我意识到该插件没有创建重写规则来处理投资组合页面的分页。因此,我自己做了一个并将其实现为mu-plugin,然后通过电子邮件向插件作者发送了问题。

add_action( 'init', 'addMyRules' );

function addMyRules(){
    add_rewrite_rule('(.+?)/page/?([0-9]{1,})/?$','index.php?pagename=$matches[1]&paged=$matches[2]','top');
}
迈克尔·刘易斯

这里有一些想法:

我将使用此WordPress重写分析器插件查看匹配的规则。它说它已经过时了,但是插件开发人员(Jan Fabry)非常有才华。几个月前,我上次使用它时,它仍在工作。

WordPress保留了一系列重写规则(我忘记了在哪里找到它,可能是在$wp_rewrite全局范围之内)。上面的插件可帮助您与这些匹配。

您如何生成分页链接?您的问题可能是您的分页链接生成不正确,而不是重写规则不起作用?换句话说,如果您使用paginate_links()函数来生成这些链接,则它们可能不会生成与您的重写规则匹配的链接。尝试*/foo/*直接输入您的网址。

另外,请记住,每当对重写规则进行更改时,都需要刷新它们。您可以通过访问/wp-admin/后端的“设置”>“永久链接”页面来执行此操作(您可能必须在此页面上提交表单以重新保存永久链接设置,尽管我听说这不是必需的)。

据我所知,重写分析器应该能够准确地将您的URL与您创建的重写规则进行匹配。只要确保在进行更改时就刷新重写规则即可。

RE:更新

您有2个选择:使您的重写规则与您现有的图库分页链接匹配,或使画廊分页链接与您现有的重写规则匹配。

要执行后者,您将需要找到图库的简码。wp-content文件夹中进行搜索以查找add_shortcode(功能,然后您将找到画廊短代码的定义位置。然后,去和改变paginate_links()功能它采用各种参数来影响链接的格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

简单的htaccess重写规则错误404

来自分类Dev

重写规则,在xampp上出现404错误

来自分类Dev

简单的htaccess重写规则错误404

来自分类Dev

重写规则WordPress的自定义URL

来自分类Dev

WordPress的重写规则来创建漂亮的URL

来自分类Dev

删除结尾的.html重写器会产生404错误

来自分类Dev

Nginx重写规则不起作用,引发404错误

来自分类Dev

WordPress的重写规则API

来自分类Dev

URL重写不断返回404错误

来自分类Dev

如果没有URL重写规则,如何返回404响应

来自分类Dev

如何使用WildFly / JBOSS 16配置URL重定向?(重写规则),已部署的Angular应用出现404“未找到”错误

来自分类Dev

错误重写规则

来自分类Dev

IIS URL重写规则

来自分类Dev

URL重写规则

来自分类Dev

干净的URL重写规则

来自分类Dev

URL重写规则

来自分类Dev

参数的url重写规则

来自分类Dev

URL重写规则

来自分类Dev

.htaccess URL重写规则

来自分类Dev

URL重写规则

来自分类Dev

WordPress重写问题-404

来自分类Dev

WordPress重写问题-404

来自分类Dev

使用Capture的Wordpress重写规则

来自分类Dev

WordPress添加重写规则

来自分类Dev

wordpress .htaccess 文件夹结构规则给出 404 错误

来自分类Dev

重定向404错误htaccess后重写URL

来自分类Dev

htacces,一些重写的URL给我错误404

来自分类Dev

Magento-URL重写以更改语言给出404错误

来自分类Dev

为什么IIS 8.5 URL重写会引发404错误?