Symfony5部署到Hostinger后PROD环境css、js、图片无法加载如何解决
Symfony5部署Hostinger生产环境静态资源加载失败排查方案
- 优先清理生产环境缓存,执行命令:
php bin/console cache:clear --env=prod
同时确保项目var目录和public目录权限配置正确,可执行命令调整权限:chmod -R 755 public var
部分Hostinger主机需要额外设置web运行用户对上述两个目录的可读权限,可在主机面板的文件管理模块修改权限配置。 - 校验资产配置
打开config/packages/framework.yaml文件,确认assets配置项的public_dir为%kernel.project_dir%/public,如果站点部署在子目录下,需同步修改base_path为对应子目录路径。
若使用Webpack Encore管理前端资源,需先执行生产环境构建命令生成资源:npm run build
或yarn build - 确认站点根目录配置
Hostinger站点的根路径必须指向Symfony项目的public文件夹,而非项目根目录,错误的根目录配置会导致所有静态资源路径、路由规则失效。可在Hostinger的站点域名管理面板中找到「根目录」配置项修改。 - 检查public目录下的rewrite规则
确认public目录下存在Symfony默认的.htaccess文件,若丢失可从同版本的Symfony官方骨架项目中复制对应文件内容,确保规则可以正确匹配已存在的静态资源直接返回,无需走PHP入口处理。 - 校验资源引用方式
所有静态资源引用必须使用Twig的asset()函数,例如{{ asset('css/app.css') }},禁止硬写相对/绝对路径,避免不同环境下路径映射异常。
内容的提问来源于stack exchange,提问作者Alexis mouss
相关产品推荐
相关产品推荐

