0

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

  • 要链接到的域名 x.com(我们的主应用程序域):控制器:页面 | 行动:回家
  • 域名 y.com 或 z.com(通过我们的主应用程序域创建的商店)链接到:控制器:商店 | 行动:索引

要设置主页,定义此路由:

Router::connect('/', array('controller' => 'pages', 'action' => 'home'));

问题:如何使这个动态并添加条件,以便根据域名加载不同的控制器/动作?

笔记:

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

1 回答 1

1

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

于 2013-04-17T19:06:39.313 回答