WordPress 在尝试访问某个页面时,被无限次地重定向到了自己,或者一个无法正常加载的地址。 这就像一个人在两个房间之间来回跑,却永远到不了目的地。

wordpress 此网页包含重定向循环
(图片来源网络,侵删)

下面我将从最常见、最简单的解决方案开始,逐步深入,帮你排查并解决这个问题。


第一步:快速诊断与修复(成功率最高)

清除浏览器缓存和 Cookie

这是最简单但最容易被忽略的一步,你的浏览器可能缓存了错误的页面。

  • 操作:按 Ctrl + Shift + R (Windows) 或 Cmd + Shift + R (Mac) 强制刷新页面。
  • 或者:打开浏览器的“无痕/隐私模式”或“无痕窗口”,然后尝试访问你的网站,如果无痕模式下可以正常访问,那基本就是浏览器缓存的问题,请清理你的浏览器缓存。

检查 WordPress 和主题的临时文件

有时,缓存插件或主题生成的临时文件会导致冲突。

  • 操作
    1. 通过 FTP 或你的主机控制面板的文件管理器,进入你的 WordPress 根目录。
    2. 删除 wp-content 文件夹下的 cache 文件夹(如果存在)。
    3. 检查并删除 wp-content 文件夹下的 upgrade 文件夹(如果存在)。

第二步:使用 FTP 或主机文件管理器进行修复(成功率 90%)

如果第一步无效,问题很可能出在 WordPress 的核心配置文件上,你需要通过 FTP 或主机的文件管理器来操作。

wordpress 此网页包含重定向循环
(图片来源网络,侵删)

暂时禁用所有插件

插件是导致重定向循环的头号嫌疑犯,特别是缓存、安全、登录和 SEO 插件。

  • 操作
    1. 通过 FTP 或文件管理器,连接到你的服务器。
    2. 进入 wp-content 文件夹。
    3. plugins 文件夹重命名plugins_old
    4. 尝试访问你的网站,如果恢复正常,说明问题出在某个插件上。
    5. 恢复:将 plugins_old 文件夹改回 plugins,然后逐个激活插件,找到并删除导致问题的那个插件。

检查并修复 .htaccess 文件

.htaccess 文件是控制网站 URL 重写规则的核心文件,它的错误配置是重定向循环的另一个主要原因。

  • 操作
    1. 通过 FTP 或文件管理器,找到 WordPress 根目录下的 .htaccess 文件。
    2. 先备份:将 .htaccess 文件下载到本地,以防万一。
    3. 清空或重命名:你可以选择将 .htaccess 文件重命名.htaccess_old),或者直接在文件管理器中清空(删除所有代码)。
    4. 访问网站:现在访问你的网站,如果页面能正常打开(虽然样式会丢失,因为链接结构不对),那问题就出在 .htaccess 文件上。
    5. 恢复:登录你的 WordPress 后台(通过现在可以访问的地址),进入 “设置” -> “固定链接” 页面,然后直接点击“保存更改”按钮,WordPress 会自动生成一个全新的、正确的 .htaccess 文件。

检查 wp-config.php 文件

wp-config.php 中的 WP_HOMEWP_SITEURL 配置错误也会导致循环重定向。

  • 操作
    1. 通过 FTP 或文件管理器,打开根目录下的 wp-config.php 文件。
    2. 查找下面这两行代码:
      define('WP_HOME', 'https://www.yourdomain.com');
      define('WP_SITEURL', 'https://www.yourdomain.com');
    3. 检查:确保这两行的值是你网站的正确地址(注意 httphttps 的区别,以及是否包含 www),如果它们被错误地设置成了其他地址,或者指向了一个不存在的地址,就会导致循环。
    4. 修正:将它们修改为你网站的正确地址,然后保存文件。

第三步:进阶排查(如果以上方法都无效)

如果问题依然存在,那可能需要更深入的检查。

wordpress 此网页包含重定向循环
(图片来源网络,侵删)

检查主题文件

有时,主题中的 functions.php 文件或自定义模板文件中也可能包含错误的重定向代码。

  • 操作
    1. 通过 FTP,将 wp-content/themes 下的当前激活主题文件夹重命名(your-theme-old)。
    2. WordPress 会自动切换回默认的 twentytwentythreetwentytwentyfour 主题。
    3. 如果网站恢复正常,说明问题出在主题上,你可以尝试重新安装该主题,或者联系主题开发者。

检查 wp-content 文件夹

wp-content 文件夹下的某些文件或子文件夹权限错误或损坏,也可能导致问题。

  • 操作
    1. 通过 FTP,将 wp-content 文件夹重命名wp-content_old
    2. 尝试访问网站,如果网站可以访问(但会完全空白,因为所有主题、插件、上传的文件都找不到了),说明问题出在 wp-content 文件夹内。
    3. 恢复:将 wp-content_old 文件夹中的内容(除了 cache, upgrade 等临时文件夹)逐一复制回一个新的 wp-content 文件夹中,每复制一部分就测试一次网站,以确定是哪个文件或文件夹引起的问题。

检查数据库

数据库中的 siteurlhome 选项可能被错误修改。

  • 操作
    1. 登录你的主机控制面板,找到数据库管理工具(通常是 phpMyAdmin)。
    2. 选择你的 WordPress 数据库。
    3. 在数据表列表中,找到以 wp_options(如果你的表前缀不是 wp_,请找到对应的前缀)开头的表。
    4. 点击“浏览”或“编辑”该表。
    5. 在数据中找到 option_namesiteurlhome 的这两行。
    6. 检查并确保它们对应的 option_value 是你网站的正确 URL。

总结与排查清单

当你遇到“重定向循环”问题时,请按照以下顺序检查:

  1. [ ] 清除浏览器缓存,尝试无痕模式访问。
  2. [ ] 通过 FTP,将 wp-content/plugins 文件夹重命名,测试是否为插件冲突。
  3. [ ] 如果是插件问题,逐个排查插件,找到问题插件并删除。
  4. [ ] 如果不是插件,将 .htaccess 文件重命名或清空,然后进入后台“设置”->“固定链接”页面点击“保存更改”,让 WordPress 生成新的 .htaccess 文件。
  5. [ ] 检查 wp-config.php 文件中的 WP_HOMEWP_SITEURL 是否正确。
  6. [ ] 如果以上都无效,将当前主题文件夹重命名,测试是否为主题问题。
  7. [ ] 如果还不是,将 wp-content 文件夹重命名,逐步排查内部文件。
  8. [ ] 最后手段,检查数据库中的 wp_options 表里的 siteurlhome 值。

按照这个流程,99% 的重定向循环问题都能得到解决,祝你成功!