开发者

CakePHP: get domain (address) used to land in my page

开发者 https://www.devze.com 2023-03-20 05:27 出处:网络
This is what I need to do: I\'m creating a site in CakePHP where I need to show different stuff (logo, pictures, etc) depending on what sub-domain the user has used to get to my site. For example: le

This is what I need to do:

I'm creating a site in CakePHP where I need to show different stuff (logo, pictures, etc) depending on what sub-domain the user has used to get to my site. For example: let's say there are 3 sub-domains:

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

All three sub-domains will point to the same folder in the server where my CakePHP app is. I would like to know how can I get the sub-domain used by the user so I can show different things depending on that.

I don't know if this can affect my question, but there's one more thing. The users won't actually use the sub-domain links. They will use other domains that redirect to the sud-domains. For example, a user will enter www.whateverdomain1.com and he will be redirected to subdomain1.mydomain.com. However, I've been told that the user won't actually see the redirection, 开发者_JS百科he will always see the www.whateversomain1.com that he used.

Any ideas? Thanks so much in advance!


The easiest way I can think would be to have your webserver redirect requests from sub.domain.com to domain.com/sub, and from there using the route configuration.

In the route configuration - you have two options, either to use prefixes (http://book.cakephp.org/view/945/Routes-Configuration#Prefix-Routing-950) or setting up named parameters:

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

And in your controllers you can then check via

$this->params

to see what the subdomain is and set your variables accordingly.

0

精彩评论

暂无评论...
验证码 换一张
取 消