3

我正在为我工​​作的组织开发一个网站。我们的主站点是www.mainsite.com,但是我们有几个子站点“继承”了主站点(每个站点访问相同的数据和控制器,只是看起来不同)。例如sub1.mainsite.comsub2.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

另外,顺便说一句,如果能让这个工作,我可以在整个站点范围内应用这个规则而不必修改我的每条路线吗?

4

0 回答 0