我想改变我的应用程序的主页基于域名。
- 域名x.com(我们的主应用程序域名)链接到:controller: pages | action: home
- 域名y.com或z.com(通过我们的主应用程序域创建的商店)链接到:controller: stores | action: index
为了设置主页,定义了这条路由:
Router::connect('/', array('controller' => 'pages', 'action' => 'home'));
问题:我如何使此动态并添加条件,以便根据域名加载不同的控制器/操作?
指出:
- 在AppController的beforeFilter中,我执行一些数据库检查。它检查以确保商店确实存在(通过商店模型)。如果商店/域名不存在,它会重定向到我们的主域名
- 我想保持URL干净。我不想重定向到基于域名的页面。重定向意味着主页看起来像http://x.com/pages/home/或者像http://x.com/
我想到的一种方法是在加载Cake之前解析域,并为不同的域加载不同的路由配置(例如单独的文件)。这样,您可以为每个域加载不同的配置,因此相同的路径可以与不同域的不同控制器相关联。