共享服务器下Laravel storage目录图片无法访问返回404问题排查
站点图片访问404问题排查与解决
问题表现
- 站点内图片无法显示,访问图片地址返回404错误
- 服务器禁用了Symlink函数,已手动执行命令创建软链接:
ln -s /home/USERNAME/my_app/storage/app/public /home/USERNAME/public_html/storage - 站点生成的图片URL格式正常,示例地址为:https://my_app.com/storage/logo.png
- 已完成public路径到public_html的绑定,绑定代码如下:
$this->app->bind('path.public', function() { return '/home/my_app/public_html'; });
- 已尝试两种图片调用方式,均未生效:
- 直接调用媒体资源URL
<img class="card-img-top" src="{{$post->getFirstMedia()->getUrl() }}" alt="Card image cap">- 使用asset()方法生成资源路径
<img class="card-img-top" src="{{asset($post->getFirstMedia()->getUrl()) }}" alt="Card image cap"> - 排查确认图片src链接格式完全正确,直接访问图片地址依旧返回404
最终解决方案
经过权限排查发现/home/USERNAME/my_app/文件夹权限为700,将该文件夹权限修改为755后问题解决,图片可正常访问。
内容的提问来源于stack exchange,提问作者DzoniPfc
相关产品推荐
相关产品推荐

