CakePHP:获取用于登陆我页面的域名(地址)

时间:2011-07-12 14:47:35

标签: cakephp redirect get dns

这就是我需要做的事情:

我在CakePHP中创建一个网站,我需要根据用户用来访问我网站的子域来显示不同的内容(徽标,图片等)。例如:假设有3个子域:

  • subdomain1.mydomain.com
  • subdomain2.mydomain.com
  • subdomain3.mydomain.com

所有三个子域都将指向我的CakePHP应用程序所在的服务器中的同一文件夹。我想知道如何获得用户使用的子域名,以便根据具体情况显示不同的内容。

我不知道这是否会影响我的问题,但还有一件事。用户实际上不会使用子域链接。他们将使用重定向到sud-domains的其他域。例如,用户将进入www.whateverdomain1.com,他将被重定向到subdomain1.mydomain.com。但是,我被告知用户实际上看不到重定向,他总是会看到他使用的www.whateversomain1.com。

有什么想法吗?非常感谢提前!

1 个答案:

答案 0 :(得分:0)

我能想到的最简单的方法是让您的网络服务器将请求从sub.domain.com重定向到domain.com/sub,然后使用路由配置重定向。

在路线配置中 - 您有两个选项,要么使用前缀(http://book.cakephp.org/view/945/Routes-Configuration#Prefix-Routing-950),要么设置命名参数:

Router::connect(':subdomain/:controller/:action/:id', array('id' => '[0-9]+'));

然后在您的控制器中,您可以通过

进行检查
$this->params

查看子域名是什么,并相应地设置变量。