重定向可以在许多情况下非常方便,但在使用不当时,它们可能会导致无限的噩梦。如果您厌倦了不断处理太多的重定向错误,请阅读此讨厌问题的一些简单修复。
“太多重定向”错误是什么意思?
“太多重定向”(too many redirects)错误提示出现时,表示浏览器因陷入无限重定向循环而无法加载网页。具体说来,就是请求的页面跳转到另一个页面,然后第二个页面又再重定向回原始页面,形成一个永无止境的循环。
最终,浏览器放弃加载页面,并返回一个“太多重定向”的错误消息。
例如这样:
这个错误有两个问题:
- 它会对用户体验产生负面影响,阻止用户访问网页。用户可能因此离开您的站点,这意味着流量的损失,乃至可能对您的业务造成收益损失。
- 搜索引擎爬虫会被困在循环中,因此您的页面无法被正确抓取。如果您的页面未被抓取和索引,它们就无法在搜索引擎中排名,也无法为您的网站带来流量。
在这篇文章中,我们将探索“太多重定向”错误的原因以及修复方法。
造成ERR_TOO_MANY_REDIRECTS
错误的原因是什么?
当浏览器在尝试加载您的网页时陷入重定向循环中时,就会发生ERR_TOO_MANY_REDIRECTS
错误。
这可能由以下几个原因引起,其中包括:
- 浏览器的cookies和缓存问题。损坏的cookies或过期的缓存可能会导致重定向循环,进而引发
ERR_TOO_MANY_REDIRECTS
错误。 - 重定向配置错误。如果您的新重定向与现有的重定向冲突,可能会导致“太多重定向”的错误。
- 第三方服务和插件问题。配置不当的第三方服务,如内容交付网络(CDN)以及使用过时插件可能会在您的站点上引起“太多重定向”的问题。
- HTTPS设置不正确。未正确配置的安全套接字层(SSL)证书或HTTPS重定向规则可能会导致“太多重定向”的问题。
- .htaccess文件配置错误。如果用于配置Web服务器设置的.htaccess文件存在错误的变量,可能会导致您网站上出现
ERR_TOO_MANY_REDIRECTS
错误。
如何修复“太多重定向”错误?
以下是七个故障排除步骤,帮助您解决站点上的ERR_TOO_MANY_REDIRECTS
错误。
以下步骤适用于所有人,无论您使用的是什么内容管理系统(CMS)。但如果您的网站是基于WordPress的,也有一些特定的提示可以帮助您解决WordPress站点上的“太多重定向”错误。我们也将讨论这些方法。
清除您的浏览器缓存和Cookies
在某些情况下,真正引起“太多重定向”错误的罪魁祸首可能不是您的网站,而是您的 浏览器。
您的浏览器可能包含损坏的cookies和过时的缓存。这可能仅针对您个人触发ERR_TOO_MANY_REDIRECTS
错误,而不影响访问站点的其他用户。
为确认是否是这种情况,请尝试删除存储在您浏览器中的缓存和cookies。以下是操作方法。
Google Chrome
1. 点击浏览器右上角的三个点,然后点击“设置”。
2. 在设置中,从侧边栏中选择“隐私与安全”,然后点击“清除浏览数据”。
3. 将时间范围设置为“所有时间”,取消勾选“浏览历史”,然后点击“清除数据”。
Firefox
1. 点击浏览器右上角的菜单按钮,然后点击“设置”。
2. 在设置中,从侧边栏选择“隐私与安全”,然后向下滚动到“Cookies和站点数据”部分,点击“清除数据”。
3. 点击“清除”。
清除您的WordPress缓存
过时的缓存不仅可能积累在浏览器中,有时,存储在您WordPress站点上的缓存也可能引发“太多重定向”的问题。
您为WordPress站点安装的缓存插件可以帮助您清除网站的缓存文件。
以下是如何使用两个最流行的WordPress缓存插件清除缓存的方法:
W3 Total Cache 插件
1. 登录您的 WP 管理仪表板。
2. 导航到 “性能“,然后是 “仪表板“。
3. 点击 “清空所有缓存“。
WP Super Cache 插件
1. 登录您的 WP 管理仪表板。
2. 导航到 “设置“,然后是 “WP Super Cache“。
3. 向下滚动并点击 “删除缓存文件” 部分下的 “删除缓存” 以移除所有缓存文件。
然后,刷新您的网页,查看错误是否消失。如果没有,请继续阅读。
检查您的 URL 设置
错误配置的 URL 设置可能会在您的 WordPress 网站上引发 ERR_TOO_MANY_REDIRECTS 错误。
这通常发生在主机迁移或域名更改时,您的 WordPress 网站指向错误的域名。
要解决这个问题,请转到 “设置” 并找到您的 “WordPress 地址 (URL)” 和 “站点地址 (URL)”。
检查它们是否匹配。如果不匹配,请修改它们,使其指向正确的域名。
如果两个 URL 匹配但重定向错误仍然存在,请检查 URLs 开头或末尾是否有空格。
检查您的插件
有时,您使用 WordPress 插件实现的重定向可能会与服务器级别存在的重定向发生冲突。
您的插件也可能已经过时或包含损坏的数据。
要测试您的插件是否有问题,请禁用所有插件。然后逐一重新启用它们,以查看哪一个是问题的根源。
转到您的 WP 管理面板,选择 “插件” > “已安装的插件“。
通过在左上角的框中打钩选中所有插件。
从 “批量操作” 下拉菜单中选择 “停用” 并点击 “应用“。
现在,刷新您的网站。
如果您没看到 “多次重定向” 的错误消息,那么是插件造成的问题。
逐一激活每个插件。在激活每个插件时,重新加载您的网站以查看哪个插件引起了错误。
一旦您确定了有问题的插件,请将问题报告给插件支持团队。或者找到一个具有相同功能的替代插件。
检查 SSL 证书问题
SSL 是一种在服务器和客户端之间建立加密连接的协议。SSL 证书使您能够在网站上使用安全的超文本传输协议 (HTTPS)。
HTTPS 加密并保护服务器与浏览器之间传输的数据。因此当用户访问您的网站时,他们的数据免受攻击者的侵害。
如果您没有正确安装 SSL 证书或者在没有安装 SSL 证书的情况下强制执行 HTTPS,您的网站可能会触发 “多次重定向” 错误。
使用 SSL 检查工具,例如 SSL Shopper,确保您的 SSL 证书已正确安装,并且没有任何问题。
检查第三方服务
内容分发网络 (CDN) 是一个由地理分布的服务器组成的网,它们共同工作,以更快、更高效地向用户传递内容。
如果您使用 Cloudflare 作为您的 CDN,而您的 SSL 设置为 Flexible,它可能会在您的网站上触发重定向循环。Flexibl模式在您技术上无法设置 SSL 证书时强制您的网站通过安全的 HTTPS 版本加载。
唯一的缺点是它会导致重定向循环。
因此,在 Cloudflare 中切换到另一种加密选项,例如 Full 或 Full (strict)。
登录到您的 Cloudflare 仪表板并选择您的域名。
转到 SSL/TLS。
然后,将加密模式设置为 Full 或 Full (strict)。
禁用您的 .htaccess 文件
.htaccess 是控制页面重定向的重要部分。如果一些重定向规则配置错误或存在错误的变量,它可能会在您的网站上引起 “多次重定向” 错误。
您可以禁用您的 .htaccess 文件来确认是否它是重定向错误的原因。
下面是如何禁用 .htaccess 文件的步骤。
1. 通过前往您的托管提供商的控制面板进入 WordPress 文件夹。 (我们使用的是 Bluehost 进行这个演示。) 并点击 “文件管理器“。
2. 进入您的根目录文件夹。文件夹通常命名为“public_html”,“www”,“htdocs”或“httpdocs”。
3. 找到 .htaccess 文件并右键单击它以下载它(以防您稍后需要恢复)。
4. 再次右键单击文件,点击 “重命名“,并将其重命名为 “.htaccess_disabled”。这将在您的网站上禁用 .htaccess 文件。
5. 刷新您的网页,查看是否工作正常。如果能正常工作,那么 .htaccess 文件引起了这个错误。
6. 然后,对 .htaccess 文件右键单击,选择 “编辑”。
7. 审核当前配置。确保规则已设置为 默认的 .htaccess 配置。
8. 如果规则不匹配,删除当前规则并粘贴这些默认规则:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
9. 保存您的文件并将文件重命名回 .htaccess
如果您的 .htaccess 文件中的错误配置导致了重定向错误,这应该会解决问题。