在symfony app中不显示图像,脚本不运行

时间:2016-08-26 10:33:11

标签: javascript php symfony

我是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 PracticeComponents的文档。目前我不会使用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="" />

1 个答案:

答案 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是一个文件,应该包含在根路径中。