基于域名的CakePHP动态主页

基于域名的CakePHP动态主页,php,cakephp,cakephp-2.1,cakephp-routing,Php,Cakephp,Cakephp 2.1,Cakephp Routing,我希望根据域名更改我的应用程序主页 域名x.com(我们的主要应用程序域)链接到:controller:pages | action:home 域名y.com或z.com(通过我们的主应用程序域创建的商店)链接到:controller:stores | action:index 要设置主页,请定义此路线: Router::connect('/', array('controller' => 'pages', 'action' => 'home')); 问题:我如何使其动态化并添

我希望根据域名更改我的应用程序主页

  • 域名x.com(我们的主要应用程序域)链接到:controller:pages | action:home
  • 域名y.com或z.com(通过我们的主应用程序域创建的商店)链接到:controller:stores | action:index
要设置主页,请定义此路线:

Router::connect('/', array('controller' => 'pages', 'action' => 'home'));
问题:我如何使其动态化并添加条件,以便根据域名加载不同的控制器/操作

注意事项:

  • 在AppController的beforeFilter中,我执行一些数据库检查。它检查以确保商店确实存在(通过商店模型)。如果存储/域不存在,它将重定向到我们的主域名
  • 我想保持URL干净。我不想重定向到基于域名的页面。重定向意味着主页看起来就像

    • 我想到的一种方法是在加载蛋糕之前解析域,并为不同的域加载不同的路由配置(例如单独的文件)。通过这种方式,您可以为每个域加载不同的配置,因此相同的路径可以与不同域的不同控制器关联。

      主题之外,但是商店网站是否会显示相同的内容?如果他们这样做了,当谷歌为这些网站编制索引时,你可能会得到重复的内容惩罚。你可以在htaccess文件中处理它吗?谢谢Jeztah的提醒。这是我们考虑过的。主域名将有完全不同于商店的内容。然而,这些商店将有类似的内容。我们在考虑开一家主店(所有产品)和一批二级店(部分产品)。二级存储将指向具有规范元的主存储,以尝试减少重复内容。我可以做一些htaccess技巧(使用Nginx,所以可以使用Nginx替代方案)。现在就把东西拼凑起来。我将在我的routes.php中临时添加一个条件(根据oikku的建议)。一旦我完成了黑客攻击,我将尝试使用Nginx规则。谢谢!我现在就试试这个。我想知道在routes.php文件中添加条件是正确的做法,还是应该在控制器或boostrap.php或core.php中添加条件。