Symfony2主机匹配路由也匹配其他路由


Symfony2 host matched route matches other routes too

这是我的路由。yml文件

admin:
    path: /
    host:     "admin.devhostname.com"
    defaults:
        _controller: AdminBundle:Default:index
app:
    resource: "@AppBundle/Controller/"
    type:     annotation
    prefix:   /

一切工作正常,除了admin.devhostname.com/contact_us匹配我的app路由为contact_us。因为app:路由捕获ANY主机配置。为了得到我想要的结果,我需要将host:添加到所有其他路由配置中。有更好的方法来实现这一点吗?

这是我想出的解决方案。到目前为止是最好的办法。

我将所有与站点相关的路由移动到另一个文件routing_site中。. yml,然后用host包含路由。

admin:
    path: /
    host:     "admin.%domain%"
    defaults:
        _controller: AdminBundle:Default:index
app:
    resource: routing_site.yml
    host: "%domain%"