如何解决 WordPress 网站中的 ERR_TOO_MANY_REDIRECTS 错误:完整修复指南

ERR_TOO_MANY_REDIRECTS 错误通常发生在网站发生了重定向循环的情况下。也就是浏览器不断尝试从一个页面重定向到另一个页面,无法找到最终的目标页面。这个问题可能由多种原因引起,以下是一些常见的解决方法。

1. 清除浏览器缓存和Cookies

浏览器缓存和Cookies可能是导致重定向循环的原因之一。浏览器可能缓存了已经过时的页面或设置,导致网站无法加载正确的内容,从而导致重定向循环。

操作步骤:

在浏览器中,按下快捷键 Ctrl + Shift + Delete (Windows)或 Cmd + Shift + Delete (Mac)以打开清除浏览数据页面。

选择清除缓存、Cookies 和站点数据。

确保选择 所有时间 作为时间范围,这样可以确保所有过期的缓存都被清除。

点击 清除数据

然后,重新加载你的页面,检查是否解决了问题。

2. 检查 WordPress 的 URL 设置

WordPress 的 WordPress 地址 (URL)站点地址 (URL) 如果设置不一致,可能会导致重定向循环问题。

操作步骤:

登录到 WordPress 后台。

进入 设置 > 常规

查看 WordPress 地址 (URL)站点地址 (URL)。这两个地址应该完全一致。如果你使用 SSL(HTTPS),确保这两个 URL 都以 https:// 开头。

如果你没有启用 SSL(HTTP),则两者应该都是 http://。

确保WordPress Address和 Site Address这两个位置的URL是一致的

如果你更改了这些设置,请点击 保存更改

3. 检查 SSL 设置

SSL 配置不当通常会导致重定向循环,特别是在你切换网站为 HTTPS 后,某些页面可能仍尝试通过 HTTP 加载。

操作步骤:

确保 WordPress 地址和站点地址都使用 https://(如果你已启用 SSL)。

检查 SSL 证书是否有效:访问你的网站(以 HTTPS 开头)并查看浏览器地址栏旁的锁图标。如果没有显示绿色锁或证书无效,可能需要重新安装 SSL 证书。

如果你正在使用 Cloudflare 等 CDN 服务,确保 Cloudflare 的 SSL 配置与 WordPress 配置一致。详情操作请看这篇文章《如何修复 Cloudflare 中的 ERR_TOO_MANY_REDIRECTS 错误

4. 禁用插件

某些插件,尤其是缓存插件、SEO 插件或安全插件,可能会修改站点的重定向规则,导致重定向循环。如果问题是由插件引起的,可以通过以下方法禁用它们:

操作步骤:

使用 FTP 或文件管理器登录到你的 WordPress 网站根目录。

转到 wp-content/plugins 文件夹。

逐个禁用插件:通过将插件文件夹的名称更改为类似 plugin-name_old 来禁用插件。

禁用插件后,刷新页面,查看是否解决了问题。如果问题解决,逐个启用插件,直到找到导致问题的插件。

可以尝试禁用缓存插件(如 W3 Total Cache、WP Super Cache)和安全插件(如 Wordfence)来查看是否是它们引起的重定向问题。

找到plugins这个文件 – 右键 – Rename
将其重命名为“plugins.deactivate”的文件夹,这样便可以停用该网站所有的WordPress 插件

5. 检查 .htaccess 文件

在网站的服务器上,.htaccess 文件是用来配置重定向和 URL 重写规则的。如果该文件配置不正确,可能会导致重定向循环。

操作步骤:

1.使用 FTP 或文件管理器登录到你的站点根目录。

2.查找 .htaccess 文件。如果该文件存在,先备份一份。

3.删除 .htaccess 文件。

4.登录到 WordPress 后台,进入 设置 > 固定链接 页面(英文界面:Settings > Permalinks)。

5.点击 保存更改,这将自动为你生成一个新的 .htaccess 文件。

默认的 .htaccess 文件通常如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

6. 检查 Nginx 配置(适用于 Nginx 用户)

如果你的网站使用 Nginx 服务器,检查 Nginx 配置文件中的重定向规则是否导致了循环。

操作步骤:

使用 SSH 登录到你的服务器。

查找 Nginx 配置文件,通常位于 /etc/nginx/sites-available/ 或 /etc/nginx/nginx.conf。

检查配置文件中的重定向规则,确保没有错误的重定向指令,例如:server {
listen 80;
server_name www.yoursite.com;
return 301 https://$host$request_uri;
}
确保没有多个重定向规则互相冲突。

修改配置后,重启 Nginx 服务:sudo service nginx restart。

7. 排查 CDN 配置

如果你使用 CDN(如 Cloudflare、KeyCDN 等),错误的配置可能会导致重定向循环。

操作步骤:

登录到 CDN 服务的控制面板(如 Cloudflare)。

选择 Overview > Advanced Actions > Pause Cloudflare on Site,通过暂停Cloudflare服务来判断是否是该服务导致的问题。

选择 Overview
选择 Pause Cloudflare on Site

检查 SSL 设置:确保 SSL 设置与你的主机配置一致(例如,使用 “Full” 或 “Full Strict” SSL 设置)。

禁用自动 HTTPS 重写功能,尝试关闭 Always Use HTTPS 设置。

清除 CDN 缓存,确保站点加载最新的文件。

在 Cloudflare 中,你可以通过 Caching > Purge Cache 清除缓存。

8. 检查自定义代码和重定向规则

如果你的网站中使用了自定义代码,或者手动设置了重定向规则(如通过插件或 wp_redirect() 函数),请检查这些设置是否正确。

操作步骤:

检查你在主题或插件中的自定义代码,确认是否使用了重定向函数(如 wp_redirect() 或 header())。

如果你正在手动配置 URL 重定向,确保没有将重定向循环设置为错误的方向。

尝试禁用所有自定义重定向规则,并查看是否解决了问题。

9. 联系主机服务商

如果你已经尝试了以上所有方法但问题仍然存在,可能是服务器端的配置问题。你可以联系你的主机服务商,询问是否存在服务器配置错误或需要调整的地方,特别是对于 Nginx 或 Apache 配置。

通过本文这些步骤,希望能够帮助你找出并解决 ERR_TOO_MANY_REDIRECTS 错误。重定向循环这个问题通常与配置文件URL 设置插件缓存有关。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注