【问题标题】:CakePHP: get domain (address) used to land in my pageCakePHP:获取用于登陆我的页面的域(地址)
【发布时间】:2011-07-12 14:47:34
【问题描述】:

这是我需要做的:

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

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

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

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

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

【问题讨论】:

    标签: cakephp redirect get dns


    【解决方案1】:

    我能想到的最简单的方法是让您的网络服务器将请求从 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
    

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

    【讨论】:

      猜你喜欢
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多