# Where is third level of domain gone

**URL:** <https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411>\
**Category:** NGINX\
**Created:** [June 17, 2009, 9:41am UTC](https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411 "2009-06-17T09:41:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![fei\_dong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/0ea827/32.png) [@fei\_dong](https://www.ruby-forum.com/u/fei_dong)\
**Post date:** [June 17, 2009, 9:41am UTC](https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411/1 "2009-06-17T09:41:49Z")

</div>

Hello,

I am using Nginx 0.7.54 with php 5.2.8 as the web server. When I  
configure  
the host name, like: \*.music.goog.com, I find a very wield phenonmenon  
that  
I can’t get the third level of this domain.

I print this variable in php:  
$\_SERVER[‘SERVER\_NAME’] ; it says: [music.goog.com](http://music.goog.com)

my nginx.conf follows like:  
server  
{  
listen 80;  
server\_name [music.goog.com](http://music.goog.com) \*.music.goog.com;  
index index.html index.htm index.php;  
…  
}

The requirement is I wanna get the third level of domain which is the  
short  
code of countries, (ex: ar, br, cn, us) to set the cookies then redirect  
to  
the concerned page. My idea is to redirect in the php page. I try to use  
url  
parameters with “?country=us” to implement. It’s ok but it’s no use when  
users only input “[http://ar.music.goog.com](http://ar.music.goog.com)” or to show confusing result  
with  
“[http://ar.music.goog.com/?country=us](http://ar.music.goog.com/?country=us)”

Hoping the experts reply.

---

<div class="post-metadata">

**Author:** ![fei\_dong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/0ea827/32.png) [@fei\_dong](https://www.ruby-forum.com/u/fei_dong)\
**Post date:** [June 17, 2009, 11:07am UTC](https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411/2 "2009-06-17T11:07:35Z")

</div>

Hello!

On Wed, Jun 17, 2009 at 03:33:52PM +0800, fei dong wrote:

> Hello,
> 
> I am using Nginx 0.7.54 with php 5.2.8 as the web server. When I configure  
> the host name, like: \*.music.goog.com, I find a very wield phenonmenon that  
> I can’t get the third level of this domain.
> 
> I print this variable in php:  
> $\_SERVER[‘SERVER\_NAME’] ; it says: [music.goog.com](http://music.goog.com)

SERVER\_NAME is server’s name, not Host header from client request.  
Use HTTP\_HOST instead.

Maxim D.

---

<div class="post-metadata">

**Author:** ![fei\_dong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/0ea827/32.png) [@fei\_dong](https://www.ruby-forum.com/u/fei_dong)\
**Post date:** [June 17, 2009, 12:23pm UTC](https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411/3 "2009-06-17T12:23:56Z")

</div>

On Wed, Jun 17, 2009 at 12:58:07PM +0400, Maxim D. wrote:

> > I print this variable in php:  
> > $\_SERVER[‘SERVER\_NAME’] ; it says: [music.goog.com](http://music.goog.com)
> 
> SERVER\_NAME is server’s name, not Host header from client request.  
> Use HTTP\_HOST instead.

If he uses fastcgi, then he may use

- fastcgi\_param SERVER\_NAME $server\_name;

- fastcgi\_param SERVER\_NAME $host;

---

<div class="post-metadata">

**Author:** ![fei\_dong](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/0ea827/32.png) [@fei\_dong](https://www.ruby-forum.com/u/fei_dong)\
**Post date:** [June 18, 2009, 6:18am UTC](https://www.ruby-forum.com/t/where-is-third-level-of-domain-gone/170411/4 "2009-06-18T06:18:48Z")

</div>

You are right, Thanks!
