Laravel通过asset加载products目录图片出现404错误如何解决
代码层面可能的问题点
- 大小写拼写不匹配
Linux 服务器文件系统大小写敏感,先检查storage/app/public/images下的目录实际名称是否和你代码里写的products完全一致,包括大小写,比如实际目录是Products就会出现根目录文件可访问、子目录404的问题。 - 文件存储时磁盘配置错误
检查上传/存储文件时是否指定了public磁盘:如果存储代码写的是Storage::put(...)且没有显式指定磁盘,默认会写入local磁盘(对应路径storage/app/),而非public磁盘(对应路径storage/app/public/),就算手动创建了子目录也无法通过asset('storage/...')访问。 - 文件系统配置被修改
打开config/filesystems.php检查disks.public.root配置,默认值应为storage_path('app/public'),如果该配置被手动修改过,会导致路径映射偏移,出现子目录资源无法访问的问题。 - 路由规则拦截
检查路由配置中是否存在匹配storage/images/products/*路径的规则,或者前缀为storage的路由组,这类规则会拦截静态资源请求,交给 Laravel 处理而非直接返回静态文件,从而触发404。 - 资源路径前缀配置异常
检查.env文件中的ASSET_URL配置,以及config/app.php中的asset_url配置,确认是否有自定义前缀导致路径拼接错误。
内容的提问来源于stack exchange,提问作者The Only Smart Boy
相关产品推荐
相关产品推荐

