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

SiteGround部署Laravel后访问symbolic link出现403错误如何解决?

解决方案与排查方向

.htaccess配置修复方案

如果是Apache未允许跟随符号链接导致的403错误,可通过修改.htaccess配置解决:

  • 编辑站点公共根目录下的.htaccess文件:默认Laravel项目对应项目内的public目录;若部署时已将public目录内容迁移至SiteGround默认的public_html目录,直接编辑public_html下的.htaccess即可
  • 在文件最开头加入以下配置:
Options +FollowSymLinks
Options +SymLinksIfOwnerMatch

上述配置适配SiteGround的安全规则,仅允许跟随所有者匹配的符号链接,无需修改全局Apache配置即可生效。

其他可能的排查方向

  • 校验软链路径正确性:通过SSH登录主机,在项目根目录执行ls -la public/storage,确认输出的指向路径为项目真实的storage/app/public目录的绝对路径,避免相对路径错误导致访问异常。
  • 校验所有者权限一致性:SiteGround共享主机的Web运行用户与你的cpanel账户同名,需确认软链、storage/app/public目录、目录内文件的所有者均为你的cpanel账户,若所有者异常可执行chown -R 你的cpanel用户名:你的cpanel用户名 storage/ public/storage修正。
  • 校验根目录映射规则:若部署时将Laravel的public目录内容全部迁移到了SiteGround默认的public_html目录,需确保软链创建在public_html目录下,指向路径为../storage/app/public,而非原项目public目录下的软链。

无软链替代方案

若符号链接始终无法生效,可直接修改Laravel存储配置规避软链依赖:
编辑项目根目录下config/filesystems.php,找到disks.public配置块,将root参数的值从storage_path('app/public')修改为public_path('storage'),修改后执行php artisan config:cache使配置生效。后续上传的公共文件会直接存储到公共可访问目录,无需依赖符号链接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:54:04