带有参数的 symfony 路由上的 css/js 路径错误
Posted
技术标签:
【中文标题】带有参数的 symfony 路由上的 css/js 路径错误【英文标题】:Wrong path for css/js on symfony route with argument 【发布时间】:2020-09-25 06:02:49 【问题描述】:我正在使用 symfony 4.4。 我有一个控制器,他有不同的路线......
其中一个在这样的参数上有一个标记:
/**
* @Route("/activation/token", name="activation")
*/
public function activation(...
对于这条路线,只有这条路线,我的 css 没有加载,因为路径错误:
GET http://127.0.0.1:8000/activation/css/style.css net::ERR_ABORTED 404(未找到)
当我从路由中删除 thentoken 参数时,我的 css 已加载。
对于我的模板,我在 base.html.twig 上声明了这样的 css:
<link rel="stylesheet" type="text/css" href=" asset('css/style.css')" />#
有人知道为什么资产函数会渲染动态路径吗?
【问题讨论】:
您的 html 中是否设置了基本 uri/路径?另外,您能检查一下输出html中的内容吗? (在浏览器中查看源代码) 尝试将您的 CSS 样式路径更改为/css/style.css
或 /css/activation.css
,因为当前路径与您的控制器路由冲突。
@Leprechaun 根据文档,没有前导斜杠是正确的方法。我假设有一些基本路径/uri 的东西将它移动到另一个基本路径,因为它也只发生在这个页面上......
@Jakumi 在模板中一切都正确,我认为您需要检查资产配置
【参考方案1】:
您可以使用正则表达式为您的路由添加要求,该表达式将从令牌参数中排除 css 名称。
【讨论】:
以上是关于带有参数的 symfony 路由上的 css/js 路径错误的主要内容,如果未能解决你的问题,请参考以下文章