出现这种情况的根本原因并不在 WP Rocket 的设置里,而在于你的网站服务器仍然允许通过普通的 HTTP 访问。WP Rocket 是被动触发的:当有访客(或搜索引擎爬虫)通过 http:// 访问你的网站时,它就会生成一份 HTTP 缓存;当通过 https:// 访问时,它又会生成一份 HTTPS 缓存。
要解决这个问题,让它只缓存 HTTPS,你需要在服务器级别强制将所有 HTTP 请求 301 重定向到 HTTPS。这样,HTTP 请求在触发缓存之前就会被拦截并跳转,WP Rocket 就只会生成 HTTPS 的缓存了。
以下是具体的操作步骤:
1. 检查 WordPress 基础设置
首先确保你的 WordPress 站点地址已经完全切换到了 HTTPS。
-
登录 WordPress 后台。
-
进入 设置 (Settings) -> 常规 (General)。
-
确保 WordPress 地址 (URL) 和 站点地址 (URL) 这两项都明确填写为
https://开头。
2. 设置全局强制 HTTPS 跳转 (关键步骤)
你需要根据你的 Web 服务器类型,添加 301 重定向规则。
如果你使用的是 Apache 或 LiteSpeed 服务器: 你可以通过修改网站根目录下的 .htaccess 文件来实现。在文件的最顶部(在 WordPress 原有规则之前)添加以下代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
如果你使用的是 Nginx 服务器: 你需要修改你的 Nginx 站点配置文件(通常在 /etc/nginx/conf.d/ 或宝塔面板的伪静态/配置文件设置中),在监听 80 端口的 server 块中添加 301 跳转:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
(注意将其中的 yourdomain.com 替换为你的实际域名。)
3. 清理现有缓存
完成上述跳转设置后,你需要清理掉已经生成的旧缓存文件:
-
在 WordPress 后台顶部的 WP Rocket 菜单中,点击 “清除缓存” (Clear Cache)。
-
建议同时在你的服务器文件管理器中检查一下截图中显示的文件夹,如果
index.html和index.html_gzip还在,可以直接手动删除它们。
验证结果: 配置好强制跳转后,你可以尝试在浏览器地址栏手动输入 http://你的域名。如果它自动瞬间变成了 https://,就说明设置成功了。之后 WP Rocket 的缓存目录里就只会乖乖地生成 HTTPS 版本的缓存文件了。






