本帖最后由 edear 于 2025-11-13 13:42 编辑
目前有这些情形:
http.cookie contains wordpress_logged_in_ ,已登录用户: 确保用户看到个性化、非缓存的页面(如管理栏、会员信息)。
http.cookie contains wp-postpass_ ,密码保护文章: 确保输入密码后能访问到内容。
http.request.uri contains ?preview=true,文章预览: 确保编辑者看到实时的草稿内容。
http.request.uri contains /xmlrpc.php, 远程接口: 确保 XML-RPC 远程发布/管理功能正常。
starts_with(http.request.uri, /wp-admin), 后台管理区: 整个 WordPress 后台(绝对不能缓存)。
starts_with(http.request.uri, /admin-ajax.php), AJAX 动态请求: 涵盖了 WordPress 和多数插件的实时动态操作。
starts_with(http.request.uri, /wp-comments-post.php), 评论提交: 确保评论表单提交的 POST 请求能正确处理。
starts_with(http.request.uri, /cart/), 购物车页面: 购物车内容是高度动态且依赖用户会话的。
starts_with(http.request.uri, /checkout/), 结账页面: 结账流程绝对不能使用缓存。
starts_with(http.request.uri, /my-account/), 我的账户: 个人订单、地址、下载等私密信息页面。
starts_with(http.request.uri, "/wp-json/"), 如果您的网站依赖 WP REST API 进行大量动态内容加载(如前端应用、高级搜索等),则应排除缓存。(注意:如果您的网站完全不依赖它,且 WP JSON 没有被用于动态内容,则可以缓存以提高性能)
使用的这条缓存规则如下:
- (http.cookie contains "wordpress_logged_in_") or
- (http.cookie contains "wp-postpass_") or
- (http.request.uri contains "?preview=true") or
- (http.request.uri contains "/xmlrpc.php") or
- (starts_with(http.request.uri, "/wp-admin")) or
- (starts_with(http.request.uri, "/admin-ajax.php")) or
- (starts_with(http.request.uri, "/cart/")) or
- (starts_with(http.request.uri, "/checkout/")) or
- (starts_with(http.request.uri, "/my-account/")) or
- (starts_with(http.request.uri, "/wp-comments-post.php")) or
- (starts_with(http.request.uri, "/wp-json/"))
复制代码
缓存资格:绕过缓存
目前就想到这些,还有什么遗漏的常见情况吗?请补充 |