You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署WordPress迁移后前端跳转旧域名问题求助

排查解决方向

1. 先确认跳转的触发来源

  • 执行curl -v http://local.url:8080查看返回的响应头:
    • 如果Location字段值为旧域名,说明跳转是服务端返回的,继续往下排查服务端配置
    • 如果curl访问返回200正常,只有浏览器跳转,优先清理浏览器HSTS缓存:Chrome浏览器可访问chrome://net-internals/#hSTS删除oldurl.com的HSTS记录后重试

2. 排查Docker及容器内Web服务配置

  • 进入WordPress对应的Docker容器,检查内部的Nginx/Apache虚拟主机配置,是否存在写死旧域名的rewrite跳转规则
  • 如果你在Docker外层使用了Nginx/Traefik等反向代理,确认代理层已正确传递Host、X-Forwarded-Proto头到WordPress容器,示例Nginx反代配置参考:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
  • 确认你修改的wp-config.php、数据库内容已正确同步到容器内,没有Docker卷缓存导致修改未生效的问题,可以进入容器执行cat wp-config.php、手动查询wp_options表的siteurl和home字段值确认配置生效

3. 排查WordPress代码层逻辑

  • 临时切换到WordPress官方默认主题(如Twenty Twenty-Four),如果切换后跳转消失,说明原主题的functions.php或其他主题文件存在硬编码的旧域名跳转逻辑
  • 排查站点根目录、wp-content目录下是否存在自定义的.user.ini、auto_prepend_file加载的额外PHP文件,里面可能包含旧域名跳转代码
  • 确认wp-config.php中的WP_HOME、WP_SITEURL常量定义位置,必须放在/* That's all, stop editing! Happy publishing. */注释之前才会生效,没有被后续加载的配置覆盖

4. 多站点场景特殊排查

如果你的WordPress是多站点模式,常规的搜索替换会遗漏多站点专属表的配置,需要手动修改:

  • wp_blogs表的domain字段
  • wp_site表的domain字段
  • wp_sitemeta表的siteurl字段

内容的提问来源于stack exchange,提问作者Gonzalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:48:01