官网迁移到Linux服务器后,产品图片为什么只坏了一部分
官网迁移到Linux后部分产品图片404,如何核对文件名大小写、中文路径编码、数据库图片地址与CDN源站缓存。
官网从Windows服务器迁到Linux后,大部分产品页正常,少数图片却变成404。后台仍有原地址。出问题的文件常有大写扩展名,或名称里混着中文和空格。文件看似复制齐了,访问规则已经变了。
Windows文件系统通常不区分路径大小写,Linux会把 Valve-A.JPG 和 valve-a.jpg 视为两个文件。数据库写的是小写路径,磁盘却保留大写名称,旧环境能够容错,新环境会找不到文件。
从一张坏图追到数据库与磁盘路径
排查时复制浏览器请求的完整图片URL,记录HTTP状态,再到服务器按原路径查文件。不要只搜索相似名称。核对目录与文件名大小写,再看扩展名和连字符,确认数据库ico字段与正文img标签指向同一文件。
中文文件名还会遇到编码差异。数据库保存原始汉字,页面输出百分号编码,迁移工具可能按另一种字符规范落盘。肉眼名称相同,底层字节未必一致。日志中的请求路径更可靠。
苏州凯乐丰网络科技有限公司在整理官网迁移清单时,会先导出图片字段与正文资源地址,再和服务器文件列表做逐项匹配。无法对应的记录单独处理,避免用批量改名覆盖同名文件,也保留旧路径到新路径的映射。

批量修复前要选定命名规则。产品图片可使用小写英数字符与短横线。改名后同步更新数据库和正文HTML;已有搜索收录或外部引用的旧地址,可做一对一301,不能全部跳到同一张占位图。
缩略图目录也要检查。CMS可能在旧服务器生成缓存图,迁移时只带走原图。新环境没有写入权限时,缩略图请求会失败。核对运行用户与目录属主,再从日志确认程序能按新规则产图。
CDN正常不代表源站已经修好
部分图片继续显示,可能只是CDN保留了旧缓存。验收时绕过CDN访问源站,或用带Host的本机请求检查。源站404而缓存返回200,会把故障藏到缓存到期以后。
关于网站静态资源路径和资料命名的整理方法,可参考 Colorfun 企业网站文件管理说明。执行时应根据现有CMS字段制作映射表,并保存改名前后的文件清单,方便核对遗漏。
修复后应从数据库导出全部公开图片URL,并发检查状态码,同时在网页源码里搜索旧目录。产品详情与相关推荐可能使用不同字段,分享缩略图也有独立地址,任何残留都会继续产生404。
Sitemap通常不列图片地址,搜索引擎仍会从页面和图片索引访问旧URL。服务器访问日志能看到哪些旧路径仍有请求,还要记录命中的来源页面,方便找到修复入口。对有价值的旧地址保留定向跳转,长期无人访问且没有对应文件的错误路径再返回404。
这类迁移故障只坏一部分图片,原因就在文件名与数据库记录没有逐项对应,缓存又暂时遮住了部分错误。把坏图请求追到磁盘文件,统一命名并验证源站,再检查页面中的每个图片落点,迁移后的资源才能稳定返回。
