返回列表 发布新帖
查看: 54|回复: 0

WordPress WP-Super-Cache 缓存插件 Nginx 优化规则

  • 打卡等级:即来则安
  • 打卡总天数:24
  • 打卡月天数:17
  • 打卡总奖励:5300
  • 最近打卡:2024-12-25 08:05:04

89

主题

3

回帖

691

积分

Lv.9

积分
691

2024万圣节纪念币社区杰出贡献勋章种子用户勋章2024龙年纪念币

发表于 2024-12-11 11:03:07 | 查看全部 |阅读模式

WP-Super-Cache 是 WordPress 的老牌静态缓存插件,它在 WordPress.Org 的一个角落一直有一份 Nginx 伪静态规则。配置后可绕过 PHP 直接由 Nginx 返回 HTML 页面,能大大提高网站的并发能力和速度。

这份规则如下,替换 WordPress 原本的伪静态规则即可(已修改同时兼容 HTTPS/HTTP,并增加是否命中的 Nginx-Static 头)。

  1. # WP Super Cache 规则

  2. set $cache_uri $request_uri;
  3. set $nginx_static 'BYPASS For File';

  4. # POST 请求不读取缓存
  5. if ($request_method = POST)
  6. {
  7.     set $cache_uri 'null cache';
  8.     set $nginx_static 'BYPASS For POST';
  9. }

  10. # 查询请求不读取缓存
  11. if ($query_string != "")
  12. {
  13.     set $cache_uri 'null cache';
  14.     set $nginx_static 'BYPASS For Query';
  15. }

  16. # 特定页面不读取缓存
  17. if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(App|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap (_index)?.xml|[a-z0-9_-]+-sitemap ([0-9]+)?.xml)")
  18. {
  19.     set $cache_uri 'null cache';
  20.     set $nginx_static 'BYPASS For URL';
  21. }

  22. # 特定 Cookie 不读取缓存
  23. if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in|woocommerce_items_in_cart|woocommerce_cart_hash|wptouch_switch_toogle")
  24. {
  25.     set $cache_uri 'null cache';
  26.     set $nginx_static 'BYPASS For Cookie';
  27. }

  28. # 判断缓存是否存在
  29. if (-f $document_root/wp-content/cache/supercache/$http_host/$cache_uri/index-https.html)
  30. {
  31.     set $nginx_static 'HIT';
  32. }
  33. if (-f $document_root/wp-content/cache/supercache/$http_host/$cache_uri/index.html)
  34. {
  35.     set $nginx_static 'HIT';
  36. }

  37. location /
  38. {
  39.     try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args;
  40. }

  41. add_header Nginx-Static $nginx_static;
  42. rewrite /wp-admin$ $scheme://$host$uri/ permanent;
复制代码

自用备存,转自 wepublish 的耗子博客。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

服务支持

社区监狱 封禁类型
投诉/建议联系

fankui@shequla.com

未经授权禁止转载,复制和建立镜像
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 社区啦 - 小众的中文社区 版权所有 All Rights Reserved. |网站地图 冀ICP备2022019298号
关灯 在本版发帖
手机扫一扫访问
官方Q群返回顶部
快速回复 返回顶部 返回列表