
网站搬完家了,首页能打开。你觉得一切顺利。然后用户开始反馈:图片全裂了,有些页面打不开,搜索功能不好使了。你登录后台,发现编辑器里图片路径还是旧的。
你以为搬家就是复制粘贴。结果搬家之后的问题比搬家本身还多。
今天把网站迁移后最常见的三个问题整理出来,附上排查方法。
问题一:图片不显示
图片不显示通常是路径问题。新服务器的目录结构和旧服务器不一样,图片的绝对路径失效了。
排查方向
检查图片URL:打开浏览器开发者工具(F12)→ Network标签,刷新页面,查看图片请求的完整URL。如果URL里包含旧域名,说明数据库里还存着旧的绝对路径。如果URL里是相对路径但404了,检查文件目录结构是否一致。
检查文件是否真的存在:
bash
ls -la /var/www/html/wp-content/uploads/2026/07/
文件存在但打不开,检查文件权限:
bash
chmod -R 644 /var/www/html/wp-content/uploads/ chown -R www-data:www-data /var/www/html/wp-content/uploads/
修复方法
WordPress站点:用WP CLI批量替换数据库中的旧URL,检查wp_options表中的siteurl和home选项:
bash
wp search-replace 'http://旧域名' 'https://新域名'
非WordPress站点:确认uploads、images等目录是否完整同步,检查配置文件中的资源路径变量是否已更新。如果使用了自定义字段,用SQL批量替换:
sql
UPDATE posts SET content = REPLACE(content, 'http://旧域名', 'https://新域名');
问题二:链接404
页面能打开,但点击内链跳转到404。通常是伪静态规则没生效,或者URL结构变了。
排查方向
检查伪静态规则:
- Apache:确认
.htaccess文件已迁移到新服务器,且mod_rewrite已启用 - Nginx:确认
try_files或rewrite规则已正确配置
检查URL结构是否一致:新服务器是否保留了原来的URL格式?如果用了不同程序或不同路由规则,内链可能指向不存在的路径。
修复方法
WordPress:在后台“设置”→“固定链接”里重新保存一次,WordPress会刷新并重建重写规则。如果还是不行,检查/etc/nginx/sites-available/或.htaccess的配置。
非WordPress:确认路由规则与旧服务器完全一致。如果无法保持一致,设置301重定向:
nginx
rewrite ^/old-path/(.*)$ /new-path/$1 permanent;
问题三:数据库连接失败
网站报错“Error establishing a database connection”,通常是因为数据库配置没有跟着搬家一起更新。
排查方向
检查数据库配置文件:WordPress的wp-config.php、Laravel的.env、其他程序的config/database.php,确认数据库地址、用户名、密码、数据库名是否正确。
检查数据库服务是否运行:
bash
systemctl status mysql
检查数据库用户权限:新服务器的数据库用户是否有权访问对应数据库:
sql
SHOW GRANTS FOR '用户名'@'localhost';
一个真实案例
一个WordPress站点迁移到新服务器后,文章中的图片全部404。检查发现数据库里的图片URL仍然指向旧域名的绝对路径。使用wp search-replace批量替换旧域名为新域名后,图片恢复正常。
最后一句
迁移后的故障大多集中在这三个方向:图片路径不对(绝对路径vs相对路径)、伪静态规则失效(.htaccess未同步)、数据库配置未更新(wp-config.php里的数据库信息)。排查时按这三个顺序走,绝大部分问题都能在30分钟内定位。搬家不是终点,验证才是。把网站从头到尾点一遍,你才能确认真的搬完了。




