One last question about root captures/etc.

Michael Shadle mike503 at gmail.com
Mon May 4 12:33:52 MSD 2009


i am working on hostname based regexs, not location based ones...


On Mon, May 4, 2009 at 1:29 AM, Delta Yeh <delta.yeh at gmail.com> wrote:
> How about location block? Merged or  in order of their appearence
>
> i.e.
>
>   location /aa {
>      conf1
>   }
>   location /bb {
>     conf2
>   }
>   location /aa {
>     conf3
>   }
>
>
> if request uri is /aa, what's the conf is ?
>
> 2009/5/4 Igor Sysoev <is at rambler-co.ru>
>>
>> On Mon, May 04, 2009 at 01:13:58AM -0700, Michael Shadle wrote:
>>
>> > The first one always gets matched. Is there a way to make nginx use
>> > the one that matches the best?
>> >
>> > i.e.
>> >
>> > foo123.mike.bar.com should go to #2
>> > foo.mike.bar.com should go to #2
>> > blah.mike.bar.com should go to #1
>> >
>> > etc.
>> >
>> > i've tried in opposite order but it seems that it always sides with
>> > the more generic one, which does make sense i suppose but perhaps
>> > there is a way around it?
>> >
>> > thanks.
>> >
>> >
>> > server {
>> >        listen 80;
>> >        index index.php index.html;
>> >        server_name ~^(.*?)\.mike\.bar\.com$;
>> >        set $name $1;
>> >        root /home/mike/web/$name;
>> >        location / { }
>> > }
>> >
>> >
>> > server {
>> >         listen 80;
>> >         index index.php index.html;
>> >         server_name ~^foo(.*?)\.mike\.bar\.com$;
>> >         set $name $1;
>> >         root /home/mike/web/foo$name;
>> >        location / { }
>> > }
>>
>> Regexs in server names are run in order of their appearence.
>>
>>
>> --
>> Igor Sysoev
>> http://sysoev.ru/en/
>>
>
>





More information about the nginx mailing list