Cloudflare 页面规则通配符缓存绕过不起作用

Cloudflare page rules wildcard cache bypass not working

我在登录 Wordpress 时遇到问题,这给了我错误:

"Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress"

除非我在 Cloudflare 上输入 "development mode"。

Cloudflare docs 建议 *example.or/wp-admin*,但这并没有捕捉到 wp-login,所以我遇到了 cookie 问题。

所以我正在尝试 *example.org/wp-*in,我认为它应该匹配 wp-login 和 wp-admin .

我也把规则放在最上面,因为它是最具体的。再往下的两个规则是:

example.org/events/* - 绕过缓存。似乎有效。

example.org/* 缓存所有内容,始终开启。同样,似乎有效。

我唯一能想到的是你不能像我一样在中间使用通配符,但我在文档中找不到任何关于这种情况的建议,我不能'不要添加两个单独的规则,因为我只有 3 个。

谢谢。

这似乎很奇怪。您是否打开了支持票?我们真的不会做任何会触发此事件的事情:

""Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress""

解决了我的问题。

您好,今天早上我在登录时遇到了同样的问题。

"Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress"

我还发现通过登录 cloudflare 并输入 "development mode" 解决了这个问题。 (感谢您在原始 post 中提到这一点,它帮助我弄清楚下一步要看的地方)。

现在,我昨天关于 cloudflare 的唯一 更改是我的 Page Rules(主域页面规则)之一。

我对这部分所做的更改是 Edge 缓存过期 TTL 的设置。昨天我把它从 -Respect All Existing Headers- 改为 -4 Hours-.

今天早上,我将 "Edge cache expire TTL" 设置改回 -Respect All Existing Headers- 现在我可以正常登录了。 :)

希望对你也有帮助。

F.Y.I。我为 cloudflare 使用 3 规则设置。

Rule#1 = *example.com/wp-admin* 
Rule#2 = *example.com/*preview=true* 
Rule#3 = *example.com/*

基本上规则 #1 和 #2 绕过后台和页面预览的缓存。规则 #3 缓存网站上的所有其他内容。

这只是漏掉了如此明显的东西。

我的规则是 https://example.com/wp-*in 但这显然不匹配 https://example.com/wp-admin/https://example.com/wp-admin/edit.php

正确的规则当然是 https://example.com/wp-*in*/*,这解决了我们的问题。