什么是“重定向次数过多”错误?以及如何修复它
“ERR_TOO_MANY_REDIRECTS”意味着浏览器陷入了重定向循环,无法加载页面。
什么是“重定向次数过多”错误?
“重定向次数过多”错误意味着网站配置了错误的重定向,形成了无限循环,导致页面无法加载。这会损害 SEO 和用户体验,因为搜索引擎和用户都将无法访问该页面。
例如,假设 URL X 重定向到 URL Y,随后 URL Y 又重定向回 URL X。
这就形成了一个循环。浏览器会在这两个页面之间来回跳转,直到放弃。

大多数浏览器最多会跟随大约 20 次重定向。如果到那时仍无法到达最终页面,它们就会停止并显示错误。
例如,Chrome 会提示此网站重定向次数过多,并建议清除 Cookie。

是什么导致了“重定向次数过多”错误?
“重定向次数过多”错误由浏览器陷入循环导致,这个循环不断绕圈却始终无法到达最终页面。
Dan Taylor 是 SALT.agency 的合伙人兼技术 SEO 负责人,他说自己最常见到的原因是 Cookie 或缓存管理不当。
“根据我的经验,问题通常出在缓存或 Cookie 上——比如会话亲和性、会话控制或不正确的缓存控制标头。十年前,当 HTTPS 的采用还更多是‘炒作’时,HTTP/HTTPS 协议的变化会引发冲突,但如今这种情况已少见得多。”
以下是重定向循环背后其他一些常见原因:
- 过时的服务器缓存:服务器可能仍在展示网站的旧版本,其中包含已损坏的重定向指令
- 内容分发网络(CDN)缓存问题:CDN 可能在提供带有错误重定向规则的过时版本网站
- 第三方工具或插件:如果两个工具(例如防火墙和某个插件)试图以不同方式处理重定向,它们就可能产生冲突
如何检查你的网站是否存在“重定向次数过多”错误
可以通过在不同浏览器中访问网站,手动检查 ERR_TOO_MANY_REDIRECTS 错误。
Dan 说他的第一步是直接检查重定向规则:
“我会先检查 .htaccess 或服务器配置文件,确保其中没有冲突或错误的重定向规则。”
然后,他会检查 HTTP 与 HTTPS 页面之间,以及 www 与非 www 页面之间的重定向是否设置得当且一致。
可以使用 Semrush 网站审计工具抓取网站,发现由错误配置规则导致的重定向问题:
打开该工具,按照提示配置项目。
审计完成后,进入“问题”标签页,搜索“redirect(重定向)”。

如果网站存在重定向循环(和/或重定向链),会看到“# 重定向链和循环”错误。
点击它即可查看受影响的 URL 列表。

需要注意的是,这只专门揭示由错误重定向规则导致的循环。
其他问题也可能带来阻碍。所以让我们逐一介绍如何修复它们。
修复“重定向次数过多”错误的 8 种方法
1. 清除浏览器缓存和 Cookie
清除缓存和 Cookie 可以移除过时的数据,这些数据可能导致浏览器加载旧的重定向路径。
Dan 说他在调试重定向循环时总是会包含这一步:
“我会清除浏览器中的缓存和 Cookie,以排除任何可能导致循环的已存储重定向数据。”
如果自己看到该错误而其他人没有,或者只有一个用户报告了该问题而其他人都不受影响,这是一个不错的入手点。
以下是不同浏览器中的操作步骤:
Google Chrome
点击右上角的三个点,然后选择“设置”。

导航到“隐私和安全”,然后点击“删除浏览数据”。

同时勾选“Cookie 及其他网站数据”和“缓存的图片和文件”旁边的复选框。可以取消勾选“浏览记录”旁边的框。
将时间范围设为“时间不限”。然后点击“删除数据”。

Firefox
点击右上角的菜单按钮(三条线),然后选择“设置”。

转到“隐私与安全”,向下滚动到“Cookie 和网站数据”部分,然后点击“清除数据…”

勾选“Cookie 和网站数据”以及“临时缓存的文件和页面。”旁边的复选框。其他选项可以保持不勾选。
将时间范围选择为“全部”。然后点击“清除”。

Safari
点击顶部菜单中的“Safari”标签,然后选择“设置…”

转到“高级”标签页,并启用“显示网页开发者功能”。

点击顶部菜单中新出现的“开发”标签,然后选择“清空缓存”。

要清除 Cookie,请再次进入设置。
转到“隐私”标签页,点击“管理网站数据…”

点击“全部移除”,然后在出现提示时点击“立即移除”进行确认。

Microsoft Edge
点击角落的三个点,然后选择“设置”。

在侧边栏中转到“隐私、搜索和服务”。点击“清除浏览数据”。

勾选“Cookie 及其他网站数据”和“缓存的图片和文件”旁边的复选框。其他框可以保持不勾选。
将时间范围选择为“时间不限”。点击“立即清除”。

2. 从 CMS 中清除你的网站缓存
清除网站缓存可以移除内容管理系统(CMS)或插件可能仍在提供的过时重定向指令。
如果使用 WordPress,可能安装了像 WP Super Cache 这样的缓存插件。
要使用该插件清除缓存,请进入 WordPress 仪表盘,点击左侧菜单中的“设置”,然后在子菜单中选择“WP Super Cache”。

向下滚动找到“Delete Cached Pages(删除缓存页面)”部分,然后点击“Delete Cache(删除缓存)”按钮。

如果使用其他 CMS,请按照相应的帮助文档中的步骤操作:
3. 从你的服务器清除缓存文件
清除服务器缓存可确保服务器不会使用带有重定向错误的过时文件。
大多数主机服务商都提供通过其控制面板清除服务器缓存的工具。
假设你使用 Kinsta 托管一个 WordPress 网站。
进入仪表盘,点击“WordPress sites(WordPress 网站)”,然后勾选网站旁边的复选框。
点击右上角的“Actions(操作)”按钮,然后选择“Clear cache(清除缓存)”。

勾选“Clear server cache(清除服务器缓存)”旁边的复选框,然后点击“Clear cache(清除缓存)”。

其他主机服务商也内置了与缓存相关的工具。如果遇到困难,请联系服务商支持团队寻求帮助。
4. 从你的 CDN 清除旧的重定向
内容分发网络(CDN)通过在世界各地保存网站的副本来加快其速度。但如果这些副本带有旧的重定向设置,它们可能会持续引发循环。
假设你使用 Cloudflare 作为 CDN。
进入 Cloudflare 仪表盘,选择账号和网站,点击左侧菜单中的“Caching(缓存)”,然后选择“Configuration(配置)”。

点击“Purge Everything(清除所有内容)”。

对于其他 CDN,请按照相应的文档操作:
5. 检查与 HTTPS 相关的问题
确保正确实施了 SSL 证书(它验证网站的身份,并使你能够使用 HTTPS),并且在没有证书的情况下不试图强制启用 HTTPS,这样可以修复重定向循环。
使用像 SSL Shopper 这样的 SSL 检查工具,确认证书有效且安装正确。

如果存在问题,请向主机服务商寻求帮助。
也可以使用 Semrush 网站审计工具发现 HTTPS 问题。
转到“概览”报告,找到 HTTPS 部分,然后点击“查看详情”。

延伸阅读:如何将 HTTP 重定向到 HTTPS(4 种方法)
6. 审查并修复重定向规则
相互冲突的重定向规则可能形成循环,从而触发 ERR_TOO_MANY_REDIRECTS 错误。
可以在网站审计问题报告中看到这些循环:

要解决这个问题,请使用当初用来设置这些规则的工具或平台,更新或移除相互冲突的重定向规则。
这可能是一个插件、CMS 设置,或一个服务器配置文件。
例如,如果在 WordPress 中使用 Redirection 插件,可以在该插件的仪表盘中查看所有生效的重定向规则。
编辑或删除任何导致循环的规则。

如果使用 Apache 服务器,重定向规则可能位于一个名为 .htaccess 的文件中。
可以重置这个文件以移除有问题的规则。
但只有在你对自己编辑服务器文件有信心,或能获得开发者帮助的情况下才这样做。
要重置它,请通过主机服务商的文件管理器访问网站文件,或使用 FTP 连接。
假设你使用的是 Bluehost。进入 cPanel,点击“File Manager(文件管理器)”。

导航到网站的根目录(通常名为“public_html”、“www”或“htdocs”)。

找到 .htaccess 文件
在编辑之前,先下载一份副本进行备份。右键点击该文件,然后选择“Download(下载)”。

然后,再次右键点击 .htaccess 文件,选择“Edit(编辑)”。

将全部内容替换为这份默认的 WordPress .htaccess 配置:
保存更改,并检查重定向错误是否已解决。
如果网站使用 Nginx 或其他服务器类型,请联系主机服务商或开发者寻求帮助。
7. 检查你的 CMS 中的 URL 设置
当 CMS 使用网站 URL 的两个略有不同的版本时,就可能发生重定向循环。
如果使用 WordPress,请转到“设置” > “常规”。
查看“WordPress 地址(URL)”和“站点地址(URL)”字段。它们应当一致。

例如:
- 如果其中一个使用 http://,而另一个使用 https://,就可能形成循环
- 如果其中一个包含“www”而另一个不包含,这种不一致也可能触发该错误
更新这两个字段使之一致。
如果使用其他平台,请查看它们的帮助文档,了解如何更新网站的主 URL。
更新这些设置后,保存更改。
8. 停用或调整插件与扩展程序
如果使用 CMS,所安装的某个插件或扩展程序可能在制造冲突。
停用它们,以找出哪一个可能是罪魁祸首。
在 WordPress 中,转到“插件” > “已安装的插件”,然后勾选每个插件旁边的复选框。

选择“批量操作”下拉菜单,选择“停用”,然后点击“应用”。这会关闭所有插件。

如果错误消失了,那么其中一个插件就是元凶。
逐个重新启用插件。每启用一个就检查一次网站,以找出制造循环的那一个。
如果使用其他 CMS 或网站平台,也可以采用类似的流程。
一旦找到导致问题的插件,考虑换用替代方案,并将情况告知该插件的开发者,以便他们进行调查。
如何在将来预防“重定向次数过多”错误
通过在将更改推送到线上之前仔细测试,可以预防大多数重定向循环。
Dan 建议,每当进行会影响 URL、重定向、Cookie 或资源交付的部署时,都要做好充分的 QA 和分析。
这意味着在更改后审查 URL、重定向、Cookie 和资源交付的处理方式,以便在它们引发循环之前发现任何异常行为。
如何做?
- 手动检查常见的重定向路径。在更新网站后,访问关键页面,检查重定向是否指向正确的目标,而不会在各个版本之间来回跳转。并尝试多种浏览器和设备。
- 检查插件或自定义脚本。确保这些选项不会导致重定向问题。有些工具会设置自己的规则,这可能意外地造成冲突并导致循环。
- 在网站发生重大变化后审计重定向。诸如改版、迁移或域名更新之类的事情,可能会无意中造成重定向循环。因此,在任何重大更新后,使用 Semrush 网站审计工具运行一次全站审计,以发现重定向循环。
还应该定期对网站进行一次全面的技术审计,以便在问题损害 SEO 排名或自然流量之前发现它们。
现在就运行第一次审计。