如何在同一路径中支持2个子域

时间:2016-08-24 18:37:23

标签: symfony routing

我想设置一个我的网络应用,以便可以使用2个不同的子域进行访问。 (这样我可以在我的DNS记录和预发布测试中吐出流量)

我想要处理的2个网址是admin.mydomain.com和admin1.mydomain.com

这就是我在app / config / routing.yml

中的内容
incompass_admin:
    host:     "{sub}.mydomain.com"
    resource: "@MyAdminBundle/Resources/config/routes.yml"
    defaults:
        sub: admin
    requirements:
        sub: admin|admin1

这只是部分有效。登录admin1.mydomain.com后,所有生成的链接都会转到admin.mydomain.com

因此,无论我在twig中使用{{path('my_route_name')}},我都会获得默认子域名的链接,而不是我使用的子域名。

如果我手动编辑网址,我可以访问所有admin1.mydomain.com网页。

如何让symfony使用最初作为网址输入的子域?

1 个答案:

答案 0 :(得分:1)

默认情况下,路由器将生成相对URL:

{{ path('foo') }} //output '/foo'

除非您有其他路由器资源具有相同的path,否则您不必担心主机域/子域。

如果使用{{ url('foo') }},则使用当前的Request对象自动检测生成绝对URL时使用的主机。所以,你们都不需要使用占位符。

  

详细了解Using Placeholders用例。

要做到这一点,您的路由定义就足够了:

 incompass_admin:
     resource: "@MyAdminBundle/Resources/config/routes.yml"