2016-10-12 85 views
0

這裏是我的routing.yml文件Symfony2的主機匹配的路由等航線也匹配了

admin: 
    path:/
    host:  "admin.devhostname.com" 
    defaults: 
     _controller: AdminBundle:Default:index 

app: 
    resource: "@AppBundle/Controller/" 
    type:  annotation 
    prefix: /

一切工作正常,但我admin.devhostname.com/contact_us路由appcontact_us匹配。因爲app:路由捕獲ANY主機配置。爲了得到結果我想我需要將host:添加到其他每個路由配置。有沒有更好的方法來實現這一目標?

+0

嘗試在管理路由部分使用'prefix:/'而不是'path:/'。否則,你需要聲明'admin_about_us'路線 – Matteo

+0

我試過了,它是一樣的,沒有區別。 – nacholibre

回答

0

這是我想出的解決方案。迄今爲止是最好的方法。

我將所有與站點相關的路由移動到另一個文件routing_site.yml中,然後將其與host一起包含該路由。

admin: 
    path:/
    host:  "admin.%domain%" 
    defaults: 
     _controller: AdminBundle:Default:index 

app: 
    resource: routing_site.yml 
    host: "%domain%"