Laravel部署到Forge/DigitalOcean后public图片404问题求助
解决方案
检查文件权限与所有者
服务器权限规则和本地不同,执行以下命令修复public/images的权限:chmod -R 755 /path-to-your-project/public chown -R www-data:www-data /path-to-your-project/public/images替换
/path-to-your-project为你项目的实际服务器路径(比如/home/forge/your-domain.com)。验证Nginx静态文件处理规则
登录Forge面板,进入对应站点的Files->Nginx Configuration,确保存在以下核心规则:location / { try_files $uri $uri/ /index.php?$query_string; }这条规则会优先返回已存在的静态文件,避免Laravel路由错误拦截。如果有自定义的
location /images/规则,需检查是否冲突。核对文件名大小写
Linux服务器严格区分大小写,本地Laragon(Windows环境)不区分。确认代码中asset('images/infobubble.jpg')的文件名、后缀和服务器上的文件完全一致(比如服务器上是InfoBubble.JPG就会触发404)。重新部署并检查符号链接
在Forge面板中点击站点的Deploy按钮重新部署,确保项目的public目录和域名根目录的符号链接正常。如果手动检查,确认/home/forge/your-domain.com指向项目的public文件夹。强制清除所有缓存
执行以下命令彻底清理Laravel缓存:php artisan config:clear php artisan cache:clear php artisan view:clear之后在Forge的
Server->PHP菜单中重启PHP-FPM,确保配置生效。同时按Ctrl+Shift+R强制刷新浏览器清除客户端缓存;如果用了CDN,需同步清除CDN缓存。
内容的提问来源于stack exchange,提问作者Hondaman900
相关产品推荐
相关产品推荐

