上传图片前台全是裂图,查路径、权限、防盗链,十分钟全部解决

14年前 (2012-08-05)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手网站,后台上传完图片,前台打开图片位置全是裂图,提示加载失败,图片在后台能看到,前台就是显示不出来,折腾半天不知道哪里错了。其实这种图片不显示的问题,就那几个常见原因,顺着查十分钟就能好。

第一个最常见的原因,是图片的路径不对,你在后台上传完图片,前台模板里调用图片的路径写的是相对路径,换了页面之后,路径就错了,浏览器找不着图片文件,就显示裂图。把图片的路径改成绝对路径,也就是从域名开始的完整地址,不管在哪个页面,图片都能正常加载。我之前客户的模板,图片用了相对路径,文章页的图片全是裂图,改成绝对路径立刻就正常了。

第二个原因,是目录权限不对,图片上传到了upload目录,但是这个目录的权限是700,Nginx进程读不了里面的图片文件,浏览器请求图片的时候,返回403,就显示裂图。把upload目录的权限改成755,所有者改成www,图片立刻就能访问了。很多新手为了安全,把目录权限设的太严,结果自己网站的图片都读不出来。

第三个原因,是防盗链开了,你开了Nginx的防盗链,只允许自己域名访问图片,但是你前台用的域名和你配置里的防盗链白名单不一致,系统就把自己的图片也拦了,返回403。把你自己的访问域名加到防盗链的白名单里,别把自己拦在外面。

还有个坑,是图片格式不对,你上传的是webp格式,老浏览器不支持,就显示裂图,换成jpg或者png格式就好了。遇到图片裂图别慌,先右键看图片的请求地址,打开那个地址看看是不是403还是404,一眼就知道是路径错了还是权限错了。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/5538.html

0
回帖

上传图片前台全是裂图,查路径、权限、防盗链,十分钟全部解决 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息