WP Super Cache 专家模式Nginx 伪静态加速规则

  • A+
所属分类:博客日记

以下是可直接复制粘贴到宝塔面板的 WP Super Cache 专家模式 Nginx 伪静态规则,配置后未登录访客的请求将由 Nginx 直接读取静态 HTML 文件,完全绕过 PHP 解析,实现毫秒级响应。

请严格按照以下三个步骤完成配置(注意在宝塔面板中保留原有的 WordPress 伪静态规则,将新规则追加在其上方或替换原内容):

1. 复制完整的 Nginx 伪静态规则

  1. # WP Super Cache 专家模式规则开始
  2. set $cache_uri $request_uri;
  3. # POST 请求或带查询参数的请求不走缓存
  4. if ($request_method = POST) {
  5.     set $cache_uri 'null cache';
  6. }
  7. if ($query_string != "") {
  8.     set $cache_uri 'null cache';
  9. }
  10. # 后台路径、登录页、XML-RPC 等动态接口不走缓存
  11. 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)") {
  12.     set $cache_uri 'null cache';
  13. }
  14. # 已登录用户或发表过评论的用户不走缓存
  15. if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
  16.     set $cache_uri 'null cache';
  17. }
  18. # 匹配并直接输出静态缓存文件
  19. set $cachefile "/wp-content/cache/supercache/$http_host/$cache_uri/index-https.html";
  20. if (-f $document_root$cachefile) {
  21.     rewrite ^(.*)$ $cachefile break;
  22. }
  23. set $cachefile_http "/wp-content/cache/supercache/$http_host/$cache_uri/index.html";
  24. if (-f $document_root$cachefile_http) {
  25.     rewrite ^(.*)$ $cachefile_http break;
  26. }
  27. # WP Super Cache 专家模式规则结束
  28. # WordPress 默认固定链接伪静态规则
  29. location / {
  30.     try_files $uri $uri/ /index.php?$args;
  31. }

2. 在宝塔面板中粘贴规则

• 进入网站伪静态设置。 登录宝塔面板,点击左侧 网站,找到你的 WordPress 站点并点击右侧的 设置,然后切换到 伪静态 选项卡。
• 完整替换并保存。 清空当前文本框内的旧规则(通常只有几行 try_files 代码,上面的代码块已包含它),将上面的完整代码粘贴进去,点击 保存。如果保存后没有报错提示,说明 Nginx 语法校验已通过。

3. 在 WordPress 后台开启专家模式并测试

• 切换缓存投递方式。 回到 WordPress 后台的 设置 > WP Super Cache > 高级,在“缓存投递方式”中选择 专家(Expert),向下滚动并点击 更新状态 保存。
• 验证缓存是否真正生效。 退出登录(或打开浏览器的无痕/隐私窗口)访问你的文章列表页,在页面空白处右键点击 查看网页源代码,拉到代码最底部。如果你能看到类似 的注释,且刷新页面速度极快,说明专家模式已成功接管。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: