我正在使用依赖于子域的主机名路由。
我想要做的是有两个单独的路线。当我在www.example.com上运行时,它使用一个路由文件,如果有任何其他子域,例如subdomain1.example.com或subdomain2.examples(等等),那么它将运行另一个路由文件。
我的路由如下(yml):
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 :(得分:1)
请参阅此http://symfony.com/doc/current/components/routing/hostname_pattern.html
使用占位符,然后您可以在需求中使用正则表达式
答案 1 :(得分:0)
您可以尝试使用webserver虚拟主机配置并在其中设置ENV变量。基于此env变量,您可以加载不同的symfony 2环境甚至不同的应用程序(但您仍然可以轻松地重用/共享实体映射文件,带有符号链接的代码库)。如果您不想加载所有捆绑包或共享配置/代码的某些部分,这可能会有所帮助。