搜索全站
网站迁移 7 分钟阅读

换域名后WordPress后台无法登录,自动跳转旧域名解决办法

更换域名后输入新域名/wp-admin,却被自动跳回旧域名导致后台无法登录。本文讲清siteurl与home配置项引发的跳转原理,用数据库SQL与wp-config.php常量两种方法修正,让新域名下的后台重新正常登录,彻底摆脱后台跳转旧域名的困扰。

U
UFO_PF 2026-10-10 · 阅读 7 分钟
换域 网站迁移
阅读提示
本文约 2,402 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

域名换了,前台新域名访问一切正常,可当你敲进 新域名.com/wp-admin 想进后台时,浏览器地址栏却「唰」地一下跳回了旧域名,然后旧域名早已解析失效,于是页面打不开或者提示无法访问,后台彻底进不去。这种情况非常常见,尤其是站点只在前台改过域名、或者迁移时漏改了数据库里的站点地址。

更麻烦的是,跳转发生在服务端重定向阶段,你连登录框都看不到,想进后台改设置都无从下手。别急,这不是账号或密码的问题,而是 WordPress 记着「我的家(siteurl)在旧域名」,所以一切后台相关的请求都被它往旧站引。只要把这两处地址改成新域名,问题立刻消失。下面给出两种不依赖后台的操作办法。

故障原因分析

  1. wp_options 里的 siteurl 指向旧域名。 这一项决定 WordPress 核心文件地址,后台登录、脚本加载都依赖它,值不对就会往旧站跳。
  1. home 项仍是旧域名。 home 是访客看到的首页地址,两者只要有一个没改,就会出现前台正常但后台乱跳的错位现象。
  1. wp-config.php 里写死了旧地址。 少数站点在配置文件里用 define('WP_HOME', ...) 和 define('WP_SITEURL', ...) 硬编码了域名,它优先于数据库设置,改数据库也无效。
  1. 缓存或 CDN 记着旧跳转。 对象缓存、CDN、浏览器缓存里存了旧的重定向响应,让人误以为没改成功。
  1. .htaccess 里存在旧域名跳转规则。 有些站点曾做过域名跳转,规则残留会把新站流量导向旧域名。

分步解决方案

由于后台进不去,所有修复都要在「后台之外」完成。下面两种方法任选其一即可。

方法一:改数据库里的两个地址(最常见)

进 phpMyAdmin 或宝塔的数据库管理,选中站点的数据库,执行:

-- 先看清当前值
SELECT option_id, option_name, option_value FROM wp_options
WHERE option_name IN ('siteurl', 'home');

-- 改成新域名(注意换成你的实际域名,带协议,结尾不要加斜杠)
UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name = 'home';

改完直接访问 https://newdomain.com/wp-admin,通常就能看到登录框了。

方法二:在 wp-config.php 里强制指定(配置被写死时)

如果你改完数据库后台还是往旧域名跳,说明域名可能被写死在配置文件里。编辑网站根目录的 wp-config.php,在 / That's all, stop editing! / 这一行之前,加上:

// 文件路径:网站根目录/wp-config.php
// 强制指定站点地址,优先级高于数据库设置
define('WP_HOME', 'https://newdomain.com');
define('WP_SITEURL', 'https://newdomain.com');

保存后刷新,后台地址会被强制纠正到新域名。待一切正常后,建议保留这两行,可避免以后再被数据库里的旧值带偏。如果你确认数据库已改好,也可以删掉它们。

方法三:清理残留的跳转与缓存

如果仍被跳转,排查三处:

  • 打开 .htaccess,查找是否含 旧域名 的 RewriteRule 或 Redirect 规则,有就删除。
  • 清空浏览器缓存,或用无痕窗口访问测试,排除本地缓存的误导。
  • 若启用了 CDN 或对象缓存(Redis),刷新缓存后再试。

处理完之后,建议顺手把「设置 → 常规」里的两项地址和「设置 → 固定链接」都确认一遍,并重新保存一次固定链接结构,让站内所有链接都按新域名重新生成。这样不仅能解决后台跳转旧域名的问题,还能顺带消除文章内链、缩略图等位置残留的旧地址。如果你还想更彻底一点,可以用 WP-CLI 执行一次全库域名替换,把 wp_posts、wp_postmeta 里散落的旧域名一次性清干净,避免前台个别链接仍指向旧站。

常见踩坑点

  • 只改了 home 没改 siteurl。 这两项要同时改,漏一个就还会跳。
  • 域名结尾多加了斜杠。 https://newdomain.com/ 末尾的斜杠在部分场景下会导致地址拼接出错,规范写法不带结尾斜杠。
  • 协议搞错。 站点是 https 却填了 http://,会引发跳转或重定向问题,要和实际启用证书的协议一致。
  • 配置文件与数据库冲突。 wp-config.php 里定义了常量时数据库设置被忽略,改谁都要先确认另一处。
  • 没考虑 www 前缀。 www.newdomain.com 和 newdomain.com 在 WordPress 看来是不同地址,要和解析、证书保持一致。
  • 改完不重启缓存服务。 Redis、Memcached 等把旧值缓存住了,改完必须清缓存才能生效。

总结

换域名后后台进不去、自动跳回旧域名,根源在 siteurl 和 home 这两项站点地址没有同步更新。因为进不了后台,修复只能绕过它:优先去数据库里把这两项改成新域名,如果配置被写死,就在 wp-config.php 里用 WP_HOME 和 WP_SITEURL 强制覆盖,最后清理残留跳转规则与缓存。掌握了换域名后后台无法登录的处理套路,你就再也不会被一个小小的域名配置卡住,也不会因为慌神而误删数据或重装站点。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。