- A+
所属分类:博客日记
以下是可直接复制粘贴到宝塔面板的 WP Super Cache 专家模式 Nginx 伪静态规则,配置后未登录访客的请求将由 Nginx 直接读取静态 HTML 文件,完全绕过 PHP 解析,实现毫秒级响应。
请严格按照以下三个步骤完成配置(注意在宝塔面板中保留原有的 WordPress 伪静态规则,将新规则追加在其上方或替换原内容):
1. 复制完整的 Nginx 伪静态规则
- # WP Super Cache 专家模式规则开始
- set $cache_uri $request_uri;
- # POST 请求或带查询参数的请求不走缓存
- if ($request_method = POST) {
- set $cache_uri 'null cache';
- }
- if ($query_string != "") {
- set $cache_uri 'null cache';
- }
- # 后台路径、登录页、XML-RPC 等动态接口不走缓存
- 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)") {
- set $cache_uri 'null cache';
- }
- # 已登录用户或发表过评论的用户不走缓存
- if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
- set $cache_uri 'null cache';
- }
- # 匹配并直接输出静态缓存文件
- set $cachefile "/wp-content/cache/supercache/$http_host/$cache_uri/index-https.html";
- if (-f $document_root$cachefile) {
- rewrite ^(.*)$ $cachefile break;
- }
- set $cachefile_http "/wp-content/cache/supercache/$http_host/$cache_uri/index.html";
- if (-f $document_root$cachefile_http) {
- rewrite ^(.*)$ $cachefile_http break;
- }
- # WP Super Cache 专家模式规则结束
- # WordPress 默认固定链接伪静态规则
- location / {
- try_files $uri $uri/ /index.php?$args;
- }
2. 在宝塔面板中粘贴规则
• 进入网站伪静态设置。 登录宝塔面板,点击左侧 网站,找到你的 WordPress 站点并点击右侧的 设置,然后切换到 伪静态 选项卡。
• 完整替换并保存。 清空当前文本框内的旧规则(通常只有几行 try_files 代码,上面的代码块已包含它),将上面的完整代码粘贴进去,点击 保存。如果保存后没有报错提示,说明 Nginx 语法校验已通过。
3. 在 WordPress 后台开启专家模式并测试
• 切换缓存投递方式。 回到 WordPress 后台的 设置 > WP Super Cache > 高级,在“缓存投递方式”中选择 专家(Expert),向下滚动并点击 更新状态 保存。
• 验证缓存是否真正生效。 退出登录(或打开浏览器的无痕/隐私窗口)访问你的文章列表页,在页面空白处右键点击 查看网页源代码,拉到代码最底部。如果你能看到类似 的注释,且刷新页面速度极快,说明专家模式已成功接管。

