我想设置一个我的网络应用,以便可以使用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使用最初作为网址输入的子域?
答案 0 :(得分:1)
默认情况下,路由器将生成相对URL:
{{ path('foo') }} //output '/foo'
除非您有其他路由器资源具有相同的path
,否则您不必担心主机域/子域。
如果使用{{ url('foo') }}
,则使用当前的Request对象自动检测生成绝对URL时使用的主机。所以,你们都不需要使用占位符。
详细了解Using Placeholders用例。
要做到这一点,您的路由定义就足够了:
incompass_admin:
resource: "@MyAdminBundle/Resources/config/routes.yml"