任何带有页面类型文章、订单类型文章或文章的页面都显示此错误。这仅在托管环境中可见。我无法在本地复制错误
我按照这个顺序做了以下事情:
1.停用所有插件
1.转到设置->永久链接并重新保存%postname%选项
1.验证错误仍然存在,没有插件和永久链接重置。
1.更新了所有插件和主题。
1.验证错误仍然存在。
1.在当地遵循相同的程序,无法重现此问题。
从class-wp.php:
foreach ( (array) $rewrite as $match => $query ) {
// If the requested file is the anchor of the match, prepend it to the path info.
if ( ! empty( $requested_file ) && strpos( $match, $requested_file ) === 0 && $requested_file != $requested_path ) {
$request_match = $requested_file . '/' . $requested_path;
}
if ( preg_match( "#^$match#", $request_match, $matches ) ||
preg_match( "#^$match#", urldecode( $request_match ), $matches ) ) {
if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
// This is a verbose page match, let's check to be sure about it.
$page = get_page_by_path( $matches[ $varmatch[1] ] );
if ( ! $page ) {
continue;
}
$post_status_obj = get_post_status_object( $page->post_status );
if ( ! $post_status_obj->public && ! $post_status_obj->protected
&& ! $post_status_obj->private && $post_status_obj->exclude_from_search ) {
continue;
}
}
// Got a match.
$this->matched_rule = $match;
break;
}
}
我已经在网上搜索了这个问题的答案,但我什么也没找到。请让WordPress迷们说话。
4条答案
按热度按时间jchrr9hc1#
谢谢大家的帮助。这最终与一个名为事件日历的插件发生冲突。如果您创建一个名为事件的页面,并将事件日历默认页面的“事件”更改为其他内容,则会发生此错误。因为这是一个第三方应用程序,我只是去寻找其他的东西,以满足我的需要。通过从plugins目录中完全删除该文件夹,可以清 debugging 误。
szqfcxe22#
更改Permalink设置
在您的WordPress网站中,在设置->如果永久链接设置为文章名称尝试将其更改为自定义结构,反之亦然。这帮助我修复了这个错误。
enter image description here
pepwfjgg3#
我有同样的错误在所有网页上,除了主页。当我将永久链接从“Postname”更改为“Simple”(页面ID)时,错误消失了。当我切换回来时,错误也回来了。最后,我试着在设置->通用->“WordPress地址(URL)”和“站点地址(URL)"中的基本URL末尾添加一个斜杠。保存设置后,斜线消失了(因为它是无效的),但问题也解决了。
p8h8hvxi4#
停用事件日历插件摆脱了错误。这个错误发生在我删除了一个名为“事件”的页面之后。