(编辑:就像下面提到的链接之一,它可能与调用匹配规则的顺序有关,BP页面获得的参与度/流量/活动越多,其他页面上调用重写规则的次数就越多,如果你可以给我一些东西来保留非buddypress页面的原始顺序,或者删除非buddypress页面的重写规则,这将解决我相信的问题)
我目前正在运行 Buddypress,并激活了 Woocommerce(还有 Dokan。)
有时,当流量较大时,我网站的不同部分会出现随机的 404 错误。我听说它与刷新重写规则或其他东西有关。
我不太擅长这类事情,我想知道是否有人听说过类似的事情发生。我读到,当人们也将 LearnDash 与 Buddypress 一起使用时,就会发生这种情况,并且我看到了一个特定的修复程序,可以为此将其放入functions.php中,我想知道是否可以将某些内容应用于我的情况。
这里只是一些类似的问题(这是很多人多年来一直遇到的问题,近十年来人们都在问):
https://buddypress.org/support/topic/buddypress-iis-and-randomreoccurring-404-errors/
https://buddypress.org/support/topic/getting-404-after-visiting-activity-stream-in-buddypress/
--
我上传了一个查询监视器,发现在出现 404 错误的页面上,请求该页面时存在不同的“匹配规则”。不工作时是
[^/]+)(?:/([0-9]+))?/?$
,工作时是(.?.+?) (?:/([0-9]+))?/?$
我尝试实现以下链接中的代码,将我失败的匹配规则替换为代码中的规则,但我遇到了严重错误。我想知道我的实例中的代码是否正确,我将其添加到 $rewrite = $wp_rewrite->wp_rewrite_rules(); 之后的 class-wp 文件中。 (我不知道他所说的“在解析函数请求中”是什么意思),所以我想知道我放置它的位置是否正确:
if(isset($rewrite['([^/]+)(?:/([0-9]+))?/?$']))
{
$temp = $rewrite[^/]+)(?:/([0-9]+))?/?$'];
unset($rewrite['([^/]+)(?:/([0-9]+))?/?$']);
$rewrite['([^/]+)(?:/([0-9]+))?/?$'] = $temp;
}
https://buddypress.org/support/topic/getting-404-after-visiting-activity-stream-in-buddypress/
--
如果没有人知道该怎么办,有没有办法阻止 Buddypress 在非 Buddypress 页面/帖子上重写规则?喜欢某种类型的functions.php代码吗?
(相关:https://core.trac.wordpress.org/ticket/48223,我该如何实现?这也可以解决问题。)
我也有同样的问题。如果您提出解决方案,请发送电子邮件至 [email protected]。