2012-05-07 37 views
8

編輯 現在有在symfony中這樣做的2.2Symfony2的子域路由 - 不同的包

PlatformFooBundle: 
    resource: "@PlatformFooBundle/Resources/config/routing.php" 
    domain: foo.testdomain.com 

PlatformBarBundle: 
    resource: "@PlatformBarBundle/Resources/config/routing.php" 
    domain: bar.testdomain.com 

PlatformBazBundle: 
    resource: "@PlatformBazBundle/Resources/config/routing.php" 
    domain: baz.testdomain.com 

可以在域中使用的參數以及

編輯OVER

的可能性

將此標記爲一個副本之前,請閱讀

http://www.craftitonline.com/2011/08/symfony2-locale-on-subdomains-not-on-the-url-path/

我讀過這篇文章,但它不幫助我做什麼我試圖做。

我有3個不同的應用程序運行在相同的域名,與單獨的子域。目前,他們都在自己的symfony安裝中運行,我想擺脫它。

foo.testdomain.com 
bar.testdomain.com 
baz.testdomain.com 
每一種

使用不同的包

PlatformFooBundle 
PlatformBarBundle 
PlatformBazBundle 

和他們每個人都有自己的路由定義。

基本上,我想這是什麼

PlatformFooBundle: 
    resource: "@PlatformFooBundle/Resources/config/routing.php" 
    subdomain: www|devwww 

PlatformBarBundle: 
    resource: "@PlatformBarBundle/Resources/config/routing.php" 
    subdomain: bar|devbar 

PlatformBazBundle: 
    resource: "@PlatformBazBundle/Resources/config/routing.php" 
    subdomain: baz|devbaz 

我怎麼會去這樣做?

+0

我運行一個類似的設置。您是否在應用程序之間共享供應商目錄? – noisebleed

+0

是的,我們有我們自己的內部庫,我們在這裏放置外部庫,如Symfony的核心。我修改了bin/vendor文件和一切以更新每個應用程序 – Ascherer

回答

6

有一個discussion正在添加此功能。

+0

這將會很棒。希望它進入到2.1 – Ascherer

+1

仍在等待這.... – Ascherer

+6

如果有人正在閱讀此,它已經在Sf2.2 – luiges90

1

看看ExperiumDomainedRoutingBundle,這對我來說真的很好。我沒有添加一個Bundle範圍的域路由(只有每個控制器使用註釋),但我也希望這個工作。

例子:

/** 
* @Route("/", name="frontend_show", options = {"domain_pattern"="{username}.%base_domain%"}) 
* @Route("/u/{username}", name="private_show") 
* @Template("SiteBundle:Frontend:show.html.twig") 
*/ 
+0

請更新鏈接,謝謝。 –