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

Laravel部署后子目录及图片404问题求助(本地正常)

解决方案:Laravel部署后静态资源/自定义目录404问题

1. 修复Storage目录访问(上传图片404)

Laravel默认上传文件存放在storage/app/public目录,该目录无法直接对外访问,需创建软链接关联到public/storage:

cd /var/www/solut.website.com
php artisan storage:link

执行完成后,上传的图片可通过https://solut.website.com/storage/xxx.jpg路径正常访问。

2. 解决自定义目录/main/访问404

你的main目录位于项目根目录,但Nginx的root指向public目录,直接访问/main/会触发404,可二选一解决:

方式一:移动目录到public下

mv /var/www/solut.website.com/main /var/www/solut.website.com/public/

移动后直接访问https://solut.website.com/main/即可加载目录内容。

方式二:修改Nginx配置添加路由规则

编辑/etc/nginx/sites-available/solut.website.com.conf,在server块内新增:

location /main/ {
    root /var/www/solut.website.com;
    try_files $uri $uri/ =404;
}

保存配置后重启Nginx:

systemctl restart nginx

3. 清理Nginx冗余配置

删除配置中以下无效规则(该规则会导致/public/xxx路径访问错误):

# Serving public directory
location ~* ^/public/(css|assets|landing|storage|installer|js)/(.*)$ {
        rewrite         ^/public/(css|assets|landing|storage|installer|js)/(.*)$        /public/$1/$2   break;
}

4. 确保权限配置正确

重新设置关键目录的权限:

sudo chown -R www-data:www-data /var/www/solut.website.com/storage /var/www/solut.website.com/public
sudo chmod -R 755 /var/www/solut.website.com/storage /var/www/solut.website.com/public

5. 清理Laravel缓存

php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

6. 检查.env配置

确保APP_URL与域名一致:

APP_URL=https://solut.website.com

内容的提问来源于stack exchange,提问作者I.Am.That.JUDE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:12:02