Symfony - 图片未显示在页面

时间:2018-02-01 10:24:55

标签: php image symfony url-routing assets

我是Symfony的初学者,表现相当不错,但页面上的图片仍然存在问题。这些是事实:

  • 申请是本地的,网页不会上线
  • 在Apache中设置应用程序,以便仅使用名称调用起始页:

    <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs/HealthCareSymfony/web/app_dev.php"
        ServerName HealthCareSymfony
     </VirtualHost>
    
  • 应用程序启动页面只是&#34; http://healthcaresymfony/&#34;

  • 图像被复制到web / images文件夹中(虽然我也尝试过其他文件夹,如资源/公共/图像等)
  • 树枝上的标准图片资源:

    img src="{{ asset('/images/Poppy-3.png') }}" alt="beach" 
    
  • 尝试使用其他版本路径的前一个...没有工作!

  • 当我尝试获取带有图像的页面(从检查页面获取路径)&#34; http://healthcaresymfony/web/images/Poppy-3.png&#34;我收到错误&#34;找不到&#34; GET /web/images/Poppy-3.png"
  • 的路线
  • 尝试了多种方法来获取此图片的页面,总是出现同样的错误。

请帮助我找到我在这里做错了什么!

1 个答案:

答案 0 :(得分:2)

我会说你的DocumentRoot设置不正确

它不应该指向实际的app_dev.php脚本

改为使用

DocumentRoot C:/xampp/htdocs/HealthCareSymfony/web

此外,您的图片似乎没有<>即使使用twig,您使用的HTML也应该正确形成

<img src="{{ asset('/images/Poppy-3.png') }}" alt="beach">

以下是我的一个Symfony项目虚拟主机

的示例
<VirtualHost *:80>
    ServerName sitename.test
    ServerAlias www.sitename.test
    DocumentRoot c:/websrc/sitename/web
    <Directory  "c:/websrc/sitename/web/">

        AllowOverride All
        Require local

        # this forces app_dev.php to be run by default
        <IfModule rewrite_module>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app_dev.php [QSA,L]
        </IfModule>
    </Directory>
</VirtualHost>

您还必须将sitename.test添加到您的HOSTS文件中才能使其正常工作

127.0.0.1 sitename.test
::1 sitename.test

然后从使用&#34开始的命令窗口重新启动dnscache;以管理员身份启动&#34;

>net stop dnscahce
>net start dnscache

或重新启动电脑