为什么WordPress迁移后会自动重定向到旧域,该如何修复?

为什么WordPress迁移后会自动重定向到旧域,该如何修复?

问题根源分析

WordPress数据库存储的旧域名信息未完全更新是导致自动重定向的主要原因。系统核心文件、主题/插件配置、服务器设置中残留旧域名参数均可能触发301永久重定向机制。

解决方案总览

1. 数据库域名更新

通过phpMyAdmin执行SQL命令:UPDATE wp_options SET option_value = replace(option_value, '旧域名','新域名') WHERE option_name = 'home' OR option_name = 'siteurl'; 并检查wp_posts表内容更新。

2. 配置文件验证

检查wp-config.php文件中是否包含define('WP_HOME','旧域名');define('WP_SITEURL','旧域名');硬编码,修改后通过FTP重新上传。

3. 服务器重写规则

删除.htaccess文件中与域名相关的重定向规则,重置固定链接结构。建议保留基础WordPress重写规则:

# 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

4. 缓存系统清理

依次执行:清除WordPress缓存插件数据、清空服务器OPcache、删除CDN缓存。推荐使用WP-CLI命令:wp cache flush

5. SSL证书配置

混合内容问题可能导致循环重定向,确保新域名SSL证书正确安装,在数据库中将wp_options表的siteurl设置为包含HTTPS的完整地址。

6. 浏览器缓存排除

使用Chrome开发者工具Network面板勾选Disable cache,或通过快捷键Ctrl+Shift+R(Windows)/Cmd+Shift+R(Mac)强制刷新。

7. DNS记录验证

使用dig +trace 新域名命令检查DNS解析是否完全生效,特别注意TTL值对缓存时间的影响,必要时临时降低TTL数值。

深度检测建议

通过浏览器开发者工具查看Network请求标头,确认返回的Location字段值。使用curl命令测试:curl -I 新域名URL 观察HTTP状态码和重定向路径。

预防措施

  • 迁移前使用专业迁移插件(如Duplicator)序列化数据处理
  • 修改数据库前缀避免残留配置冲突
  • 在本地或临时域名完成全站测试后再进行正式迁移

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END