Laravel 10生产环境下AdminLTE样式无法加载问题求助
Laravel AdminLTE 部署样式加载问题解决
核心原因
你的托管服务器网站根目录没有指向Laravel的public文件夹,而是指向了项目根目录。本地环境的Web服务器(如Nginx、Apache)通常会配置根目录为public,所以访问静态资源无需加public前缀;但服务器根目录设为项目根时,必须通过public前缀才能正确访问到vendor下的静态文件。
可行解决方案
- 手动修改资源引用路径:找到
resources/views/adminlte下的所有视图文件,把资源引用里的vendor/adminlte/...改成public/vendor/adminlte/...。比如原代码{{ asset('vendor/adminlte/dist/css/adminlte.min.css') }}调整为{{ asset('public/vendor/adminlte/dist/css/adminlte.min.css') }}。 - 联系托管商调整根目录:请求服务商将网站根目录设置为Laravel项目的
public文件夹,这是Laravel部署的标准配置,能从根源解决路径问题。 - 手动创建符号链接(若支持):如果服务器允许创建符号链接,在项目根目录手动建立
public/vendor到vendor的链接,但无控制台权限的托管大多不支持此操作,优先用前两种方法。
补充说明
本地环境中asset()辅助函数生成的路径基于public目录,因为Web服务器根目录指向了public;而服务器根目录在项目根时,asset()生成的路径相对项目根,所以必须手动补充public前缀才能正确加载资源。
内容的提问来源于stack exchange,提问作者srnatan
相关产品推荐
相关产品推荐

