WordPress从本地迁移至服务器后首页URL异常问题求助
WordPress迁移后首页自动跳转到/example的解决办法
这种情况我碰到过好几次,大概率是还有其他地方的URL没更新彻底,或者是缓存、重写规则的问题,咱们一步步排查:
1. 优先检查wp-config.php文件
有时候我们会直接在wp-config.php里硬编码站点URL,这会覆盖数据库里的设置。打开服务器上的wp-config.php文件,查找以下两行:
define('WP_HOME','http://www.example.org'); define('WP_SITEURL','http://www.example.org');
- 如果存在这两行,确保它们的值是正确的
http://www.example.org; - 如果不存在,直接添加这两行,强制指定站点URL,很多时候能快速解决问题。
2. 重置固定链接重写规则
登录WordPress后台,进入设置 > 固定链接,不需要修改任何设置,直接点击「保存更改」按钮。这一步会自动重新生成服务器上的.htaccess(Apache)或重写规则(Nginx),很多URL跳转异常都是因为迁移后重写规则没有同步更新。
3. 彻底清理所有缓存
缓存是这类问题的常见“元凶”,一定要清理干净:
- WordPress缓存插件:如果你用了WP Rocket、W3 Total Cache这类插件,先清空插件缓存,甚至可以暂时禁用插件测试;
- 服务器端缓存:比如Apache的mod_cache、Nginx的fastcgi_cache,或者主机商提供的CDN缓存,需要在服务器控制面板或主机后台清空;
- 浏览器缓存:用无痕模式打开网站测试,或者手动清空浏览器缓存,避免旧的跳转记录干扰。
4. 排查数据库中的URL残留
迁移后数据库里可能还有旧的本地URL残留,比如文章内容、自定义字段、主题/插件配置里。先备份数据库,然后在phpMyAdmin中执行以下SQL语句批量替换:
-- 替换文章内容中的旧URL UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://localhost/example', 'http://www.example.org'); -- 替换自定义字段中的旧URL UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://localhost/example', 'http://www.example.org');
注意:把wp_换成你实际的数据库前缀,http://localhost/example换成你本地的旧URL。
5. 检查主题/插件的自定义设置
有些主题会在自己的选项面板里单独存储站点URL或首页配置,比如主题设置里的「站点基础URL」「首页跳转设置」;部分插件(比如SEO插件)也可能有类似配置。进入后台逐一检查这些设置,确保没有填写错误的URL。
6. 检查服务器重定向规则
- Apache服务器:查看网站根目录下的
.htaccess文件,有没有类似这样的强制重定向规则:
如果有,删除或修改这条规则,确保首页指向正确路径。RewriteRule ^$ /example [L,R=301] - Nginx服务器:检查站点的Nginx配置文件,查看
location /块里有没有rewrite或return语句强制跳转到/example,如果有,修正即可。
一般按照上面的步骤排查,就能解决首页跳转异常的问题啦。
内容的提问来源于stack exchange,提问作者Niles
相关产品推荐
相关产品推荐

