Symfony2子域路由 - 不同的捆绑包

时间:2012-05-07 23:47:28

标签: php symfony

修改 现在有可能在symfony 2.2

中这样做
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

您也可以使用域中的参数

编辑

在将此标记为副本之前,请先阅读

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

我该怎么做呢?

2 个答案:

答案 0 :(得分:6)

正在进行discussion添加此功能。

答案 1 :(得分: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")
 */