【问题标题】:Wrong path for css/js on symfony route with argument带有参数的 symfony 路由上的 css/js 路径错误
【发布时间】: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(未找到)

当我从路由中删除 then{token} 参数时,我的 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 在模板中一切都正确,我认为您需要检查资产配置

标签: php css symfony symfony4


【解决方案1】:

您可以使用正则表达式为您的路由添加要求,该表达式将从令牌参数中排除 css 名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多