我们已经部署了一个symfony应用程序,我们决定使用organization.app-name-domain.com
之类的网址来显示有关我们数据库中列出的组织的信息。为此,我们编写如下的routing.yml:
homepage:
url: /
class: sfDomainRoute
param: { module: home, action: index }
requirements:
sf_host: [<?php echo sfConfig::get('app_urlapp') ?>, www.<?php echo sfConfig::get('app_urlapp')."]\n" ?>
homepage_org:
url: /
class: sfDomainRoute
param: { module: org, action: show }
现在我们正在另一个域中部署完全相同的应用程序,这是第三个合作伙伴的子域。新的应用网址类似于app-name.partner-domain.com
。
因此,我们不能让这些组织成为子域,而不是像过去那样。
我们可以将新应用的routing.yml
更改为更常见的网址app-name.partner-domain.com/organization
,这不是一个大问题,但这对我来说不够顺畅,因为我们希望保持这两个应用依赖于相同的存储库等...
我头脑中的可靠解决方案是根据frontendConfiguration.class.php
上定义的应用名称手动在app.yml
上进行路由。但我无法访问路由应用程序实例。 sfContext::getRoutes()
返回null
。
我从Symfony 1.0 HERE得到了条件路由的想法。
我们如何在symfony 1.4上重现该代码?