You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非WWW转WWW重定向出现ERR_TOO_MANY_REDIRECTS问题排查求助

重定向循环问题排查步骤

1. 检查WordPress站点核心设置

WordPress后台的URL配置是最常见的冲突源头:

  • 登录WordPress后台,进入「设置」→「常规」
  • 确认「WordPress地址(URL)」和「站点地址(URL)」均设置为 https://www.example.com
  • 若之前为https://example.com,修改后保存,WordPress会自动同步相关配置

2. 排查Apache全局/虚拟主机配置

Google Cloud一键部署的WordPress可能在Apache系统配置中预设了重定向规则,而非仅依赖.htaccess:

  • 登录服务器,查看Apache站点配置文件,通常路径为 /etc/apache2/sites-available/ 下的对应域名配置文件(如example.com.conf或000-default.conf)
  • 用命令查看内容:cat /etc/apache2/sites-available/你的域名配置文件.conf
  • 查找是否存在RewriteRule或Redirect指令,将www.example.com跳转到example.com,若有则修改为目标方向或删除该规则
  • 修改后重启Apache生效:sudo systemctl restart apache2

3. 梳理.htaccess文件规则顺序与内容

  • 查看.htaccess完整内容,确保你的重定向规则放在WordPress默认规则上方(即# BEGIN WordPress注释之前)——规则按从上到下顺序执行,放在下方可能被WordPress规则覆盖
  • 移除所有之前添加的冲突规则,仅保留一套正确规则,推荐使用以下配置(置于WordPress默认规则前):
RewriteEngine On
# 将非www域名重定向到www并强制HTTPS
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# 确保所有请求使用HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

4. 清除缓存避免干扰

301永久重定向会被浏览器和CDN缓存,即使修改规则,旧缓存仍可能导致循环:

  • 使用浏览器隐私窗口测试访问,或手动清除浏览器缓存
  • 若使用了CDN服务(包括Google Cloud自带缓存),登录后台清除缓存

5. 用curl命令追踪重定向链

通过命令行工具查看具体跳转过程,定位循环节点:

  • 执行 curl -v https://example.com,查看输出中的Location响应头,确认跳转方向
  • 执行 curl -v https://www.example.com,同样查看跳转方向
  • 若发现https://www.example.com被跳转到https://example.com,说明仍有未排查到的反向重定向规则,回到步骤2和3重新检查

内容的提问来源于stack exchange,提问作者ledison03

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:05:10