You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel+Angular项目本地图片正常线上无法显示问题排查

解决Laravel线上storage图片访问Forbidden问题

针对你遇到的线上图片无法访问提示“Forbidden”、本地正常的情况,按以下步骤排查解决:

  • 检查Web服务器的符号链接权限

    • 若使用Apache:在虚拟主机配置文件中添加或确保存在Options FollowSymLinks和AllowOverride All配置,保存后执行sudo systemctl restart apache2重启服务。
    • 若使用Nginx:确认站点配置的root指向Laravel项目的public目录,同时添加disable_symlinks off;(若之前开启了禁用符号链接),执行sudo systemctl restart nginx重启服务。
  • 修正文件/目录的所有者
    线上服务器的Web进程用户(通常是www-data、apache或nginx)需要拥有storage目录的访问权限,执行以下命令替换为对应服务器的用户组:

    chown -R www-data:www-data storage public/storage
    
  • 验证符号链接的正确性
    执行ls -l public/storage查看链接指向,确保它正确指向../storage/app/public。如果链接错误,先删除旧链接:

    rm public/storage
    

    再重新创建符号链接:

    php artisan storage:link
    
  • 检查.htaccess规则(Apache环境)
    确认public目录下的.htaccess文件没有阻止访问storage目录的自定义规则,默认Laravel的.htaccess不会限制该目录访问,若有新增规则需排查调整。

  • 处理SELinux权限(若服务器开启)
    执行getenforce查看SELinux状态,若显示Enforcing,执行以下命令设置正确的文件上下文:

    chcon -R -t httpd_sys_content_t storage/ public/storage/
    

    若需临时测试,可执行setenforce 0关闭SELinux,验证图片是否能访问。

内容的提问来源于stack exchange,提问作者Aid Aid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:57:07