2013-11-25 66 views
0

我使用依賴於子域的主機名路由。Symfony2主機名路由

我想要做的是有兩個獨立的路線。當我在www.example.com上運行時,它使用一個路由文件,並且如果有任何其他子域(如subdomain1.example.com或subdomain2.examples(etc等)),則它將運行另一個路由文件。

我的路由如下(陽明):

route_www: 
    resource: "@AcmeBundle/Resources/config/routing/www/routing.yml" 
    host: www.%base_host% 

route_sites: 
    resource: "@AcmeBundle/Resources/config/routing/sites/routing.yml" 

現在這個工程到一個點。我正在使用FOSUserBundle,並且我在route_sites中擁有所有這些路由,但例如www.example.com/register仍然可以查看,因爲www仍然對route_sites有效。反正有可能使用正則表達式來阻止子域www使用route_sites路由。

希望有人能幫助

回答

0

使用正則表達式,您可以嘗試使用網絡服務器的虛擬主機的配置,並在其中設置環境變量ENV 。基於這個env變量,你可以加載不同的symfony 2環境甚至不同的應用程序(但你仍然可以輕鬆地重用/共享實體映射文件,代碼庫符號鏈接)。如果你不想加載所有的bundle或共享配置/代碼的某些部分,它可以是有幫助的。