我是Symfony的新手,我需要添加图片和脚本(来自js文件)。
在网络文件夹下,我有 / img 和 / js 。
在 base.html.twig 模板中,我使用它:
<link href="img/brand.png" rel="shortcut icon">
<script src="js/main.js"></script>
<img src="img/brand.png" alt="" />
我使用 app.php 和 app_dev.php 测试它(在两种情况下也尝试清除chace)。
我使用vhost配置为
DocumentRoot "C:/xampp/htdocs/symfony/myproject/web/app_dev.php/"
ServerName myprojectdev
不显示图像,脚本不运行。请求标头返回404,URL为http://myprojectdev/js/main.js
。如果我在http://localhost/symfony/myprojectdev/app_dev.php/js/main.js
中修改标题,则状态为200.
我找到了有关Best Practice和Components的文档。目前我不会使用Assetic Bundle,但我不明白是否必须安装组件才能使用语法
<link rel="shortcut icon" href="{{ asset('img/brand.png') }}">
<script src="{{ asset('js/main.js') }}"></script>
<img src="{{ asset('img/brand.png') }}" alt="" />
答案 0 :(得分:1)
首先,如我在评论中提到的那样,在文件路径之前添加斜杠,所以你应该有这样的HTML:
<link href="/img/brand.png" rel="shortcut icon">
<script src="/js/main.js"></script>
<img src="/img/brand.png" alt="" />
接下来,您的vhost配置中的DocumentRoot
不正确
应该是
DocumentRoot "C:/xampp/htdocs/symfony/myproject/web/"
正如Apache's documentation所说:DocumentRoot
是
目录,它构成了从网络上可见的主文档树。
app_dev.php
是一个文件,应该包含在根路径中。