什么是重定向循环?
你的网站设置了一个规则,当用户访问 A 页面时,服务器会将其重定向到 B 页面,但 B 页面又有规则,要求用户必须回到 A 页面,浏览器就在 A 和 B 之间不停地“打转”,形成一个无法停止的循环,浏览器为了防止这种情况无限发生,最终会显示错误提示:“此网页包含重定向循环”。

一个常见的比喻: 你让朋友给你寄一个包裹,但你在地址上写着“如果找不到,就寄给张三”,而张三的地址上又写着“如果找不到,就寄回给你”,邮递员就会在这两个地址之间来回跑,永远也送不到包裹。
导致重定向循环的常见原因(排查重点)
90% 的 WordPress 重定向循环问题都源于以下几个原因,请按照顺序逐一排查:
WordPress 地址 (URL) 和 站点地址 (URL) 设置错误 (最常见原因)
这是最首要、最可能的原因,这两个地址在 WordPress 后台的 设置 > 常规 中设置。
- WordPress 地址 (URL): 指你的 WordPress 程序文件存放的地址。通常应该是
https://www.yourdomain.com。 - 站点地址 (URL): 指你的网站访问者实际访问的地址。
问题场景:

- 你刚刚将网站从
http迁移到https,但只修改了站点地址,忘记修改 WordPress 地址,或者反之。 - 你将网站从
www版本迁移到了非www版本,但两个地址设置不一致。 - 你在本地(如 MAMP、XAMPP)开发,但这里的地址(如
http://localhost:8888)没有被正确设置。
解决方法:
- 进入你的网站根目录,找到
wp-config.php文件。 - 在文件开头
<?php的后面,添加以下两行代码,临时绕过 WordPress 的地址检查,让你能正常登录后台:define('WP_HOME', 'https://www.yourdomain.com'); define('WP_SITEURL', 'https://www.yourdomain.com');请务必将
https://www.yourdomain.com替换成你自己的正确网站地址。 - 保存
wp-config.php文件并上传回服务器。 - 你应该可以正常访问你的网站后台了。
- 进入 设置 > 常规,检查并确保 WordPress 地址 (URL) 和 站点地址 (URL) 都是你期望的正确地址(都填入
https://www.yourdomain.com)。 - 保存更改。
- 登录 FTP 或文件管理器,删除刚才在
wp-config.php中添加的两行代码。 - 刷新网站,问题应该就解决了。
强制 HTTPS 设置冲突
即使你在后台设置了正确的 HTTPS 地址,如果服务器配置不正确,仍然会循环。
- 问题场景:
- 你的 SSL 证书有效,但服务器上的
.htaccess文件或服务器配置(如 Nginx)强制将所有 HTTP 请求重定向到 HTTPS,但 WordPress 的地址里还写着http。 - 你的
.htaccess文件里有错误的重定向规则。
- 你的 SSL 证书有效,但服务器上的
解决方法:

-
检查你的
.htaccess文件(位于网站根目录),确保它包含类似下面这样的正确规则,并且没有冲突的重定向:# BEGIN WordPress <IfModule mod_rewrite.c> 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] </IfModule> # END WordPress如果文件中有其他强制重定向到 HTTP 或 HTTPS 的规则,请暂时注释掉(在行首加 )或删除,然后测试。
-
强制开启 HTTPS (推荐方法):
- 安装并激活一个插件,如 Really Simple SSL。
- 激活后,插件会自动检测你的 SSL 证书,并帮你正确修改 WordPress 地址、
.htaccess文件和服务器设置,通常一键就能解决所有 HTTPS 相关的重定向问题。
不兼容的插件或主题
某个新安装或更新的插件(尤其是缓存、安全、会员、登录相关的插件)或主题可能会产生错误的重定向规则。
解决方法:
-
通过 FTP/文件管理器排查:
- 进入网站根目录下的
wp-content文件夹。 - 重命名
plugins文件夹为plugins_old,这会暂时禁用所有插件。 - 如果网站恢复正常,说明问题出在某个插件上,将
plugins_old改回plugins,然后逐个重命名插件文件夹(每次禁用一个),直到找到导致问题的元凶,然后删除或更新它。 - 用同样的方法排查
themes文件夹,将当前使用的主题文件夹重命名,看看是否是主题导致的问题。
- 进入网站根目录下的
-
通过数据库排查(如果无法登录后台):
- 登录你的数据库管理工具(如 phpMyAdmin)。
- 选择你的 WordPress 数据库。
- 找到
wp_options表(如果你的前缀不是wp_,请找到对应的前缀)。 - 找到
option_name为active_plugins或stylesheet的记录。 active_plugins存储了激活的插件,你可以暂时清空其值来禁用所有插件。stylesheet存储了当前使用的主题,你可以将其值更改为默认主题(如twentytwentythree)来切换主题。
.htaccess 文件损坏或包含错误规则
.htaccess 文件是 Apache 服务器的配置文件,一个错误的规则就可能导致重定向。
解决方法:
- 通过 FTP/文件管理器连接你的网站。
- 找到根目录下的
.htaccess文件。 - 先备份这个文件(下载到本地或重命名)。
- 删除或重命名服务器上的
.htaccess文件。 - 尝试访问你的网站,如果网站可以访问了(但样式可能丢失),说明问题就在这个文件里。
- 登录 WordPress 后台,进入 设置 > 固定链接,什么都不用改,直接点击“保存更改”,WordPress 会自动生成一个新的、正确的
.htaccess文件。
服务器配置问题
如果以上方法都无效,可能是服务器层面的配置问题,Nginx 或 Apache 的虚拟主机配置错误。
- 问题场景:
- Nginx 配置文件中的
return 301指令指向了错误的地址。 - Apache 的虚拟主机配置中有冲突的重定向指令。
- Nginx 配置文件中的
解决方法: 这个通常需要联系你的主机服务商(如 Bluehost, SiteGround, 阿里云, 腾讯云等)的技术支持,让他们检查服务器配置,你可以告诉他们你遇到了重定向循环问题,并怀疑是服务器配置导致的。
快速排查清单
遇到重定向循环,请按以下步骤操作:
- 检查后台设置: 立即检查 设置 > 常规 中的 WordPress 地址和站点地址是否正确且一致。
- 使用
wp-config.php临时修复: 如果地址错误,用wp-config.php的方法强制跳转到正确地址,再去后台修改。 - 处理 HTTPS: 安装 Really Simple SSL 插件,一键解决 HTTPS 问题。
- 禁用插件/主题: 通过重命名文件夹的方式,排查是哪个插件或主题引起的冲突。
- 重置
.htaccess: 备份并删除.htaccess文件,让 WordPress 重新生成一个。 - 联系主机商: 如果以上所有步骤都无效,那很可能是服务器配置问题,请联系你的主机提供商。
按照这个流程,绝大多数 WordPress 重定向循环问题都能被顺利解决,祝你成功!
