Url 如何将app_dev.php添加到Symfony 2中的资产

Url 如何将app_dev.php添加到Symfony 2中的资产,url,symfony,assets,Url,Symfony,Assets,我正在使用: {{ asset('contact') }} (e.g.) 要生成“我的联系人”页面的URL,该页面将输出: http://localhost.project/contact. 但我在开发环境 如何为开发环境创建资产显示url 应该是: http://localhost.project/web/app_dev.php/contact 不是 您应该使用{{path('your_route')}}生成URL。这将为开发环境生成适当的URL。如果您使用的是Symfony 2.3,

我正在使用:

{{ asset('contact') }} (e.g.) 
要生成“我的联系人”页面的URL,该页面将输出:

http://localhost.project/contact.
但我在开发环境

如何为开发环境创建资产显示url

应该是:

http://localhost.project/web/app_dev.php/contact
不是


您应该使用
{{path('your_route')}}
生成URL。这将为开发环境生成适当的URL。

如果您使用的是Symfony 2.3,则可以在config.yml文件中设置资产\u base\u URL。我处理这个问题的方法是在parameter.yml文件中添加一个%domain%变量,一个用于生产,一个用于开发。这样,资产就会按照您的建议加载正确的URL

在framework->templating下向配置文件添加以下内容

//app/config/config.yml

framework:
    templating:
        assets_base_url: %domain%
然后在parameters.yml中:

//app/config/parameters.yml - Dev environment

parameters:
    domain: 'http://localhost.project/web/'
然后,对于您的生产环境,您需要parameters.yml有所不同,并具有您计划使用的域

当您使用twig asset函数时,使用此集合,它将预先设置您想要的基本url

{{ asset('contact') }}
将成为:

http://localhost.project/web/contact
话虽如此。资产是图像、css、Javascript、字体等。如果您试图在应用程序中创建指向页面的url,则需要使用细枝路径函数

{{ path('route.name') }}

这将使用您在routing.yml中定义的symfony路由名称为您请求的页面生成url。

通过app_dev.php调用您的页面以进入dev env。
{{ path('route.name') }}