我的知识记录

网站图片替换不显示?路径、权限、缓存、CDN四维排查指南

替换了网站图片但前台不显示,是新手常遇到的问题。原因集中在四个维度:路径错误、权限不对、缓存未清、CDN未刷新。按顺序排查,快速定位。

路径错误是最常见原因。Linux服务器区分大小写,Banner.jpg和banner.jpg是两个文件。上传时文件名大小写不一致就会404。检查方法:F12-Network-Img,看图片请求的状态码,404就是路径错。点图片请求看Request URL,和服务器上的实际路径对比。常见错误:多了或少了斜杠、目录名拼错、文件名后缀错(.jpeg写成.jpg)、绝对路径和相对路径混用。

修复路径:模板里的图片路径用绝对路径(/template/default/images/logo.png)或完整URL(https://www.domain.com/template/default/images/logo.png),不要用相对路径(../images/logo.png),子目录安装时相对路径会出错。PbootCMS模板里用{TPL}标签代替模板目录,如{TPL}/images/logo.png,系统自动解析正确路径。

权限问题。图片文件权限644,目录权限755,属主www。权限不对Nginx读不到文件,返回403。检查:宝塔文件管理器看文件权限列,或SSH执行ls -l 图片路径。修复:chmod 644 图片文件,chmod 755 目录,chown www:www 文件。整个目录批量修复:chown -R www:www /www/wwwroot/域名/upload && chmod -R 755 /www/wwwroot/域名/upload。

缓存问题。浏览器缓存了旧图或404状态,Ctrl+F5强制刷新。CMS缓存了页面,PbootCMS清缓存,织梦重新生成静态。PHP OPcache缓存了PHP文件,重启PHP。CDN缓存了旧图,在CDN控制台刷新URL。四层缓存都清了还不显示,用无痕模式访问测试。

CDN问题。图片URL经过CDN,CDN回源失败或缓存了404。在CDN控制台看回源配置,源站地址是否正确,回源HOST是否正确。刷新CDN缓存后等2分钟。临时测试:本地电脑改hosts文件,把域名解析到源站IP,直接访问源站看图片是否显示,源站正常就是CDN问题。

图片格式问题。上传了webp但浏览器不支持(旧版Safari),显示裂图。解决:提供jpg/png备选,用picture标签。上传了svg但MIME类型没配置,Nginx需要在mime.types里加image/svg+xml svg。上传了过大的图片(超过PHP upload_max_filesize),上传失败,检查php.ini里upload_max_filesize和post_max_size,宝塔PHP设置里改。

文件名特殊字符。文件名有中文、空格、&、?等特殊字符,URL编码后路径错乱。解决:文件名只用英文小写、数字、连字符。中文文件名在URL里会被编码成%xx%xx,部分服务器配置不支持导致404。重命名文件为英文后重新上传。

.htaccess或Nginx规则拦截。伪静态规则把图片路径重写了,导致图片请求被路由到index.php。检查.htaccess或Nginx配置,图片后缀的请求应该直接返回文件,不经过PHP。Nginx配置里应有location ~* .(jpg|jpeg|png|gif|webp|svg)$ { expires 30d; }这样的规则。

排查流程总结。F12看状态码:404查路径和文件名,403查权限,200但显示旧图查缓存,502查CDN回源。状态码是关键,根据状态码对应排查方向。全部正常但不显示,检查图片文件本身是否损坏,下载到本地打开试试。

网站图片替换不显示?路径、权限、缓存、CDN四维排查指南

标签:

更新时间:2026-08-26 18:13:06

上一篇:响应式网页内容修改适配多端教程_PC手机平板显示一致调整方法

下一篇:如何替换网站中的图片而不破坏布局:尺寸、比例、CSS适配全解