我有一个包含多个品牌(子域名)的Symfony2项目。每个子域应使用相同的站点功能和相同的路由(具有不同的主机名)。因此,我想在路径路径中创建一个变量的子域。现在看起来像:
mybundle_route:
resource: "@MyProjectBundle/Controller/"
type: annotation
prefix: /
host: "{subdomain}.%base_host%"
requirements:
subdomain: sub1|sub2
并且路由本身有效。但是如果我尝试生成一些路由(例如在twig中),我会收到以下错误,因为没有设置子域变量:
缺少一些必修参数("子域")以生成路线" company_route"的网址。
我不想将参数添加到项目中的每个path()函数中。 如果我添加如下默认值,它对一个子域的工作效果为:
defaults:
subdomain: sub1
但是其他子域的路由是错误的。它也不能与
一起使用defaults:
subdomain: "%subdomain%"
我需要的是将%subdomain%变量传递给默认值或将其设置在控制器构造函数中的某个位置。但我无法找到它的方式。我将不胜感激任何帮助。
答案 0 :(得分:1)
如果没有更好的解决方案,您可以尝试在配置文件中设置%subdomain%
参数:
subdomain_parameter.php
。$container
,以便您可以从网址手动检索当前子域并将其传递给容器。subdomain_parameter.php
醇>