搜索全站
安装部署 6 分钟阅读

WordPress一键安装后域名跳转到服务器IP或旧地址

一键安装或搬家后,访问域名却跳到服务器 IP 或旧地址?本文教你从数据库 siteurl 与 home、wp-config、服务器重定向规则三处定位,并用搜索替换工具清理站内旧链接,让站点回到正确域名,以后搬家换域名不再踩坑,真正做到一次到位。

U
UFO_PF 2026-10-10 · 阅读 6 分钟
Wo 安装部署
阅读提示
本文约 2,147 字,预计阅读 6 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

用一键安装、镜像部署或搬家工具把 WordPress 弄上线,本想着打开域名就能看到网站,结果浏览器地址栏一转,跳到了 http://服务器IP,或者跳到了上一个环境的旧域名。更奇怪的是,网站内容显示得好好的,就是地址不对,链接点进去也还是带着那个 IP 或旧地址。这背后的原因其实很明确:WordPress 并不知道你是用哪个域名访问它的,它只认数据库里存着的那两条”官方地址”记录——siteurl 和 home。一键安装工具和搬家脚本常常把这两条写成了服务器 IP 或旧域名,于是每次打开页面,WordPress 都会”把你送回到它记忆里的那个地址”。搞懂了这个机制,解决起来也就有方向了:让数据库里的地址和你的真实域名对齐。

故障原因分析

1. 数据库里的 siteurl / home 是 IP 或旧域名。 一键安装或镜像部署时自动写入的,是这两条记录在作祟,有些镜像甚至把地址写死成厂商的演示域名,务必逐个核对。

2. wp-config.php 里锁定了地址。 有人为了应急写了 WP_HOME / WP_SITEURL,事后忘了删,程序就一直用它。

3. 服务器层面存在硬编码重定向。 Nginx 或 Apache 配置里写了跳转到 IP 的规则,这类规则常来自早期部署脚本,装完就忘了清理。

4. 缓存或缓存插件保留了旧跳转。 页面缓存里存的还是指向旧地址的版本,光改数据库不一定会立刻见效。

5. 域名解析或 hosts 未生效。 域名还没正确指向这台服务器,重定向显得格外”顽固”。

分步解决方案

方法一:修正数据库里的站点地址

用 phpMyAdmin 打开数据库,改 wp_options 表中的两条记录(注意实际表前缀):

UPDATE wp_options SET option_value = 'https://www.example.com' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'https://www.example.com' WHERE option_name = 'siteurl';

改完清一次浏览器缓存再访问,跳转通常立即消失。

方法二:全局替换残留的旧地址

站内文章、菜单、小工具里往往还硬编码着旧地址,这时用全局替换工具更彻底。安装 “Better Search Replace” 这类插件,把旧地址整体替换为新域名,先在数据库层面勾选”演练(dry run)”确认结果,再执行正式替换。这条路比直接手写 SQL 安全得多,因为它能正确处理序列化数据,替换前务必先备份数据库,并优先在演练模式下确认影响范围。

方法三:用 WP-CLI 快速改地址

服务器装了 WP-CLI 的话,两条命令搞定:

wp option update home 'https://www.example.com'
wp option update siteurl 'https://www.example.com'

改完记得用 wp option get home 复核一下,确认取值已经更新。

方法四:检查 wp-config 与服务器重定向

先看 wp-config.php 有没有 define( 'WP_HOME', ... ) 或 define( 'WP_SITEURL', ... ),有就删掉或改成新域名。再检查 Nginx / Apache 配置里是否存在指向 IP 的 return 301 或 RewriteRule,有则一并修正,尤其要留意从旧主机拷贝过来的配置文件,往往残留着上一站的域名或 IP。

常见踩坑点

  1. 直接对数据库做 SQL 批量替换。 站点内容里含大量序列化数据,粗暴替换会破坏结构导致站点异常,务必用支持序列化的工具。
  2. 忘了 www 与 https。 新地址要和浏览器实际访问的完全一致,否则又会引发新的跳转。
  3. 缓存没清。 数据库改了、浏览器和 CDN 缓存却在旧版本,用无痕窗口先验证。
  4. 只改了两条记录没管站内链接。 首页不跳了,但内页仍指向旧地址,需配合方法二处理。
  5. 域名解析本身没生效。 域名还指向别处时,改多少配置都没用,先在本地 ping 或 hosts 验证解析。
  6. 测试时用了带 www 的域名,实际访问却不带。 站点地址必须和访客最终使用的那一个完全一致,否则仍会来回跳转。

总结

访问域名却跳到服务器 IP 或旧地址,本质是 WordPress 依据数据库里的 siteurl 和 home 来”认路”,而这两个值还停留在旧环境。解决的关键就是把它们改成人真正用的域名,并顺手清理站内硬编码的旧链接、wp-config 里的强制定义以及服务器层面的重定向规则。这里特别提醒,站内替换一定要用支持序列化数据的工具,直接改 SQL 很容易把站点改坏。等地址全部对齐、缓存清干净之后,你的 WordPress 就会老老实实地待在正确域名下,不再乱跳了。以后再做搬家或换域名,建议先在本地把站点地址改好、把旧链接替换干净,再解析新域名,能极大减少中途跳转到旧地址的尴尬。把这个思路固化下来,以后每次搬家都能一次到位。

U
UFO_PF作者

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

留下你的想法

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