Store part of subdomain in a variable to use as root

Igor Sysoev is at rambler-co.ru
Thu Aug 6 10:40:01 MSD 2009


On Thu, Aug 06, 2009 at 02:24:53AM -0400, martinc6 wrote:

> I need to store part of a subdomain in a variable in order to use it as my root and I can't seem to get it to work.
> 
> The URLs would be formed like: martin_branch.dev.testsite.com
> 
> And I need root to be /home/martin/martin_branch.dev.testsite.com
> 
> The underscore ("_") and stuff afterwards is optional. I'll also need martin.dev.testsite.com to have its root as /home/martin/martin.dev.testsite.com.
> 
> Note that the name ("martin") and home folder will vary.
> 
> This is what I've got so far:
> 
> server {
>         listen   80;
>         server_name ~^(.+)_*\.dev\.testsite\.com$;
>         set $myroot $1;
>         root /home/$myroot/$host;
>  }
> 
> Thanks in advance!

What is in error_log ?
BTW, "_" is invalid character in domain name.

Also for this simple configuraiton you may omit "set" since $1 is never
overwritten:

 server {
         listen   80;
         server_name ~^(.+)_*\.dev\.testsite\.com$;
         root /home/$1/$host;
 }


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list