WordPress迁移问题:固定链接无法找到对应文件
WordPress迁移后404错误及域名替换正确操作方案
一、手动修改SQL备份的风险与注意事项
直接用vim全局替换SQL里的域名并非完全不可行,但容易踩坑:
- 必须覆盖所有存储域名的字段:
wp_options表的siteurl/home项、wp_posts表的guid和post_content(含内链)、自定义字段、评论中的外部链接 - 核心风险:WordPress部分数据是序列化存储的,直接字符串替换会破坏序列化的长度标记,导致数据解析异常——这可能就是你前端404但后台正常的原因之一
二、当前404错误的快速修复
1. 重置固定链接规则
登录后台进入「设置→固定链接」,无需修改任何配置,直接点击保存更改。WordPress会自动更新.htaccess文件(需服务器赋予目录写入权限),重置URL重写规则。
如果服务器不允许自动写入.htaccess,手动创建/修改该文件,添加以下规则(适配/wordpress子目录):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule>
2. 检查服务器重写模块状态
- Apache环境:确认
mod_rewrite模块已启用(可通过phpinfo()查看,或联系主机商开启) - Nginx环境:在站点配置文件中添加重写规则,然后重启Nginx:
location /wordpress/ { try_files $uri $uri/ /wordpress/index.php?$args; }
三、正确的域名替换流程(避免序列化数据损坏)
推荐用WordPress专用工具替换域名,避免手动修改SQL的风险:
- 登录后台,在插件库搜索并安装Better Search Replace插件
- 插件页面中,输入旧域名
https://www.billoblog.com/wordpress、新域名https://www.forensicpath.us/wordpress - 选择所有数据表,勾选「运行搜索/替换」,同时勾选「备份数据库」(容错用)
- 替换完成后,再次进入「固定链接」页面点击保存,刷新重写规则
四、验证修复效果
- 访问前端文章链接,确认404错误消失
- 检查文章内容、图片、内链是否全部指向新域名
- 测试后台编辑、媒体库、评论等功能是否正常
内容的提问来源于stack exchange,提问作者William Oliver
相关产品推荐
相关产品推荐

