使用 Buddypress 随机出现 404 错误

问题描述 投票:0回答:1

(编辑:就像下面提到的链接之一,它可能与调用匹配规则的顺序有关,BP页面获得的参与度/流量/活动越多,其他页面上调用重写规则的次数就越多,如果你可以给我一些东西来保留非buddypress页面的原始顺序,或者删除非buddypress页面的重写规则,这将解决我相信的问题)

我目前正在运行 Buddypress,并激活了 Woocommerce(还有 Dokan。)

有时,当流量较大时,我网站的不同部分会出现随机的 404 错误。我听说它与刷新重写规则或其他东西有关。

我不太擅长这类事情,我想知道是否有人听说过类似的事情发生。我读到,当人们也将 LearnDash 与 Buddypress 一起使用时,就会发生这种情况,并且我看到了一个特定的修复程序,可以为此将其放入functions.php中,我想知道是否可以将某些内容应用于我的情况。

这里只是一些类似的问题(这是很多人多年来一直遇到的问题,近十年来人们都在问):

https://wordpress.stackexchange.com/questions/216103/intermittent-404-errors-rewrite-rules-and-bbpress

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,我该如何实现?这也可以解决问题。)

php wordpress buddypress
1个回答
0
投票

我也有同样的问题。如果您提出解决方案,请发送电子邮件至 [email protected]

© www.soinside.com 2019 - 2024. All rights reserved.