Symfony 5 子目录URL下资源文件路径异常问题求助
解决Symfony 5资源路径错误问题
方法1:使用根相对路径前缀
在模板里引用资源时,给路径开头加上/,强制从网站根目录开始解析:
<link rel="stylesheet" href="/css/style.css">
不管当前URL处于哪个子目录层级,都会直接指向https://example.com/css/style.css。
方法2:用Symfony的asset()函数
推荐使用Symfony内置的asset()函数,它会自动基于public/目录生成正确的根相对路径,适配不同URL层级:
<link rel="stylesheet" href="{{ asset('css/style.css') }}">
该函数还支持后续扩展资源版本控制等功能,更符合Symfony的最佳实践。
方法3:统一配置资源基础路径(可选)
如果需要全局统一资源路径规则,可以在config/packages/framework.yaml中添加配置:
framework: assets: base_urls: ['/']
配合asset()函数使用,能确保所有资源路径都从根目录开始解析。
内容的提问来源于stack exchange,提问作者Ruben Lech
相关产品推荐
相关产品推荐

