本地可加载图片与音频,部署服务器后无法加载问题求助
问题排查方向
针对本地环境正常、生产服务器上图片与音频加载失败的问题,按以下步骤逐一排查:
核对资源路径是否正确
打开浏览器开发者工具(F12)的「网络」面板,刷新页面后查看图片、音频的请求状态:- 若返回404错误,说明路径不匹配:确认JS文件在生产环境中的位置,比如JS若放在
js/目录下,相对路径images/1.png会指向js/images/1.png而非根目录的images/,需改为../images/1.png或根路径/images/1.png(开头斜杠指向网站根目录)。 - 音频文件
media/tick.mp3同理,对比实际请求URL与文件在服务器上的真实位置是否一致。
- 若返回404错误,说明路径不匹配:确认JS文件在生产环境中的位置,比如JS若放在
验证文件存在性与权限
- 确认生产服务器上
images/、media/文件夹下的所有资源已完整上传,无遗漏。 - 若为Linux服务器,检查文件权限:将图片、音频文件权限设为
644,文件夹权限设为755,确保服务器有权限读取这些资源(权限错误会返回403状态码)。
- 确认生产服务器上
排查文件名大小写问题
Windows系统不区分文件名大小写,但Linux服务器严格区分。比如本地的Images/1.PNG在生产环境若为images/1.png,会导致加载失败,需核对所有资源文件名的大小写完全一致。检查服务器MIME类型配置
部分服务器默认未配置正确的MIME类型,导致浏览器无法识别资源。在「网络」面板查看资源响应头:- PNG图片的
Content-Type应为image/png - MP3音频的
Content-Type应为audio/mpeg
若类型不符,需在服务器配置(如Nginx的mime.types、Apache的.htaccess)中添加对应MIME规则。
- PNG图片的
排除CDN或缓存干扰
若生产环境使用CDN,可能资源未同步至节点,或浏览器缓存了旧路径:- 按
Ctrl+F5强制刷新浏览器,绕过本地缓存测试。 - 检查CDN缓存策略,必要时手动刷新CDN缓存。
- 按
检查CORS设置
若资源跨域加载(如放在独立静态资源域名下),浏览器会因CORS限制阻止加载。查看「控制台」面板,若有CORS相关错误,需在服务器端配置允许跨域访问的响应头。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

