这个坑值得记一笔。站点从 http 迁到 https 后,日志里 /wp-content/uploads/ 下的 404 一天涨到一千八百条,文章页配图全部显示裂图,前台查看源码发现图片地址还是旧的 http 域名。
刚开始盯着「缩略图尺寸改过,旧尺寸文件在迁移时没有一起复制」,折腾了半个多小时,排掉了。
排查方向其实有限,先把可能性排一排。数据库里的图片地址是绝对路径,迁移时只改了站点地址没改正文;CDN 回源 Host 仍指向旧域名,图片请求被转到已下线的机器;防盗链规则把自家新域名的 Referer 也拦了。
动手时先抽查一张图的真实响应
curl -s -o NUL -w "%{http_code} %{content_type}\n" https://www.example.com/wp-content/uploads/2026/09/cover.jpg
接着在数据库里统计旧域名残留
SELECT COUNT(*) FROM wp_posts WHERE post_content LIKE '%http://old.example.com%';
批量替换正文与自定义字段里的旧域名
UPDATE wp_posts SET post_content = REPLACE(post_content,'http://old.example.com','https://www.example.com');
剩下的就是确认 CDN 回源 Host 配置
curl -sI https://www.example.com/wp-content/uploads/2026/09/cover.jpg | findstr /i "x-cache via"
别只看报错消失,验证要多做一步。替换后图片 404 归零,日志里 uploads 目录只剩正常 200,文章页首屏图恢复显示。
容易忽略的是,迁移图片别只改站点配置,正文里的绝对地址和 CDN 回源设置要一起处理,否则两边各错一半。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
