我正在为我工作的组织开发一个网站。我们的主站点是www.mainsite.com
,但我们有一些子站点“继承”(每个站点访问相同的数据和控制器,只是看起来不同)主站点。例如sub1.mainsite.com
,sub2.mainsite.com
等
我已经开始编写主网站的代码,并使用Symfony 2.2的新子域名/主机路由功能,我希望能够以编程方式根据子域名更改网站的外观。
如果我将host: "{site}.mainsite.com"
添加到我的某条路线中,我可以在控制器中成功获取{site}
。但是,如果没有子域,则路由不匹配。这可以通过添加一个没有host
选项的新路由来解决,但这意味着我将我的路线加倍,而且我真的不想这样做。
从本质上讲,我真正需要的是能够根据子域(或没有子域)更改网站的外观及其使用的菜单。
有谁知道我该怎么做?
示例路线:
news:
pattern: /news/{page}
host: "{site}.mainsite.com"
defaults: { _controller: MainSiteNewsBundle:News:index, page: 1, site:main }
requirements:
page: \d+
site: sub1|sub2
另外,如果我可以让它工作,我可以在网站范围内应用此规则而无需修改我的每条路线吗?