网站启用 HTTPS 后,页面却无法正常访问,浏览器提示 “ERR_TOO_MANY_REDIRECTS”,这通常意味着站点陷入了 SSL 重定向循环。本文会讲解错误产生的原因,并排查与解决这个问题。

一、什么是 ERR_TOO_MANY_REDIRECTS?
ERR_TOO_MANY_REDIRECTS(重定向过多)是浏览器为保护用户跳转安全所触发的错误。表示页面不断地在不同的 URL 之间跳转,形成了死循环,最终浏览器中止加载。
启用 HTTPS 后出现这个错误,会与下面的情况有关:
- HTTP 与 HTTPS 之间反复重定向
- 配置了多个互相冲突的重定向规则
- CDN、缓存或插件缓存未更新
- WordPress 配置或主机端设置错误
二、常见原因解析
1. WordPress 设置错误
站点地址(URL)没有设置为 HTTPS,导致 WordPress 自动把 HTTP 重定向到 HTTPS,而服务器又将 HTTPS 重定向回 HTTP。
2. .htaccess
重定向冲突

多次设置了 RewriteRule,或者在插件、主机控制面板中也启用了相同重定向逻辑,造成循环。
3. CDN 或反向代理未正确传递协议头
如 Cloudflare、Nginx 没有传递 X-Forwarded-Proto,应用层误判当前协议为 HTTP。
4. 缓存插件未刷新
WP Super Cache、LiteSpeed Cache 等缓存插件还保留了旧的 HTTP 版本跳转逻辑。

三、解决步骤全指南
步骤 1:临时禁用插件
- 登录 FTP 或主机面板
- 进入
/wp-content/plugins/
目录

- 将缓存插件文件夹(如 litespeed-cache)重命名为
litespeed-cache-disabled
- 刷新页面,确认是否跳转错误消失
如果错误消失,说明问题来自缓存插件。清除缓存或重新配置就可以了。
步骤 2:检查 WordPress 地址
- 登录 WordPress 后台
- 前往【设置】>【常规】
- 确保 WordPress 地址(URL)和站点地址(URL)均为
https://
开头

- 保存更改并刷新页面
建议使用 https://yourdomain.com
格式,避免混合使用 www 和非 https。
步骤 3:修复 .htaccess
中的重定向
打开根目录下的 .htaccess
文件(若使用 Apache):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
注意不要重复添加类似的重定向代码,保留一份有效规则就可以。

步骤 4:检查服务器 Nginx 或反向代理设置
如果使用 Nginx 或宝塔面板部署,确认以下设置:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
确保没有在上游或代理服务器中形成 HTTP→HTTPS→HTTP 的循环传递。
四、最终确认:清除所有缓存
- 清除 WordPress 缓存插件缓存

- 清除 CDN(如 Cloudflare)缓存

- 清除浏览器缓存或使用无痕模式重新访问网站

五、预防建议
- 开启 HTTPS 后统一设置 WordPress 与服务器规则
- 避免多重跳转设置(CDN/插件/服务器同时设置)
- 开启缓存插件前先测试重定向是否正常
- 使用 SSL 检测工具如 Why No Padlock 检查 HTTPS 状态
总结
ERR_TOO_MANY_REDIRECTS 是 HTTPS 网站中常见但完全可控的问题。理清 WordPress 配置、服务器重定向逻辑和 CDN 设置,可以快速定位并解决这一错误,让SSL 顺利启用、网站稳定访问。
了解 宝藏号 的更多信息订阅后即可通过电子邮件收到最新文章。 © 版权声明 文章版权归作者所有,未经允许请勿转载。 相关文章暂无评论... |
---|