【发布时间】:2016-10-24 17:55:52
【问题描述】:
根据每个教程和文档,在 symfony 3 中绑定 CSS 文件应该很简单。但就我而言,它只是行不通。
在我的 base.html.twig 中有
<link rel="stylesheet" href="{{asset('assets/css/main.css')}}" />
在文件夹 web/assets/css/ 中有一个 main.css 文件。但它只是没有生效。
我是不是做错了什么?
编辑:
也许还有更多信息.. 当我查看源代码时,文档头部有一个 <link rel="stylesheet" href="/assets/css/main.css" />,但是当我点击链接时,它会输出一个
找不到“GET /assets/css/main.css”的路由(来自“http://localhost/application/3”)
编辑 2:
也许这可能会有所帮助.. 日志文件说
2016-06-24 18:30:32] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /css/main.css" (from "http://localhost/")" at D:\xamp\htdocs\icp\var\cache\dev\classes.php line 2357 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /css/main.css\" (from \"http://localhost/\") at D:\\xamp\\htdocs\\icp\\var\\cache\\dev\\classes.php:2357, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): at D:\\xamp\\htdocs\\icp\\var\\cache\\dev\\appDevUrlMatcher.php:166)"} []
【问题讨论】:
-
“不生效”是什么意思?生成的 HTML 是什么?
-
我的意思是在html的头部有一个
<link rel="stylesheet" href="/assets/css/main.css" />输出,其中定义了一个css-selector,在body中有一个带有这个类的div,但是css没有生效.. 就像它不存在一样 -
那么,
asset助手正在工作,而您正在寻求 CSS 帮助?你的主题确实失败了 -
@MassimilianoArione ..我不确定资产帮助器是否正常工作:/ ..正如我所提到的..路径在网站的头部..CSS文件确实存在..但无法从浏览器访问
-
资产助手必须执行的唯一任务是将相对 URL 转换为绝对 URL,这是可行的,因为您可以在 HTML 源中看到正确的路径。不通过直接调用来获取该文件是另一回事。顺便说一句,访问静态文件(如 CSS)根本不是 Symfony 传递的,而是由 Web 服务器直接处理的(当然,只要静态文件存在)