Welcome! Log In Create A New Profile

Advanced

Re: Store part of subdomain in a variable to use as root

Martin Schut
August 06, 2009 04:57PM
On Thu, 06 Aug 2009 21:54:56 +0200, martinc6 <nginx-forum@nginx.us> wrote:

> martinc6 Wrote:
> -------------------------------------------------------
>> Igor Sysoev Wrote:
>> --------------------------------------------------
>> -----
>> > 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/
>>
>> The reason for the set is that we have other if
>> statements and rewrites but they shouldn't be
>> conflicting because they're the same as on other
>> subdomains we use. I commented it all out just in
>> case to test this.
>>
>> In there error logs I get
>> /home//martin.dev.testsite.com which means that
>> $myhost is empty so the regex isn't returning
>> anything.
>>
>> We're changing our format to
>> branch.martin.dev.testsite.com to be more valid.
>> I'm reworking the regex like so:
>> ^\.*(.+)\.dev\.testsite\.com.*$
>>
>> But it's not done yet clearly. In my regex tester
>> that returns the name I want but nginx doesn't
>> seem to do it.
>
>
> The regex we're using is: \.*([^.]+)[.]dev[.]testsite[.]com.*$
>
> But it doesn't seem to be returning anything to the server. Still get a
> 404 and logs says it's looking for /home//martin.dev.testsite.com
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,4750,4758#msg-4758
>
>
>

I think you need something like ^[^.]*\.([^.]*)\.dev\.testsite\.com$ or
^.*\.(.*)\.dev\.testsite\.com$

Best regards,

Martin

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Subject Author Posted

Store part of subdomain in a variable to use as root

martinc6 August 06, 2009 02:24AM

Re: Store part of subdomain in a variable to use as root

Igor Sysoev August 06, 2009 02:40AM

Re: Store part of subdomain in a variable to use as root

martinc6 August 06, 2009 03:09PM

Re: Store part of subdomain in a variable to use as root

martinc6 August 06, 2009 03:54PM

Re: Store part of subdomain in a variable to use as root

Martin Schut August 06, 2009 04:57PM

Re: Store part of subdomain in a variable to use as root

martinc6 August 07, 2009 12:01AM

Re: Store part of subdomain in a variable to use as root

martinc6 August 07, 2009 02:27AM

Re: Store part of subdomain in a variable to use as root

Igor Sysoev August 07, 2009 04:32AM

Re: Store part of subdomain in a variable to use as root

Martin Schut August 07, 2009 11:06AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 305
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready