Проблема с rewrite

Andrey Y. Ostanovsky andrey at ostanovsky.spb.ru
Wed Aug 30 18:27:49 MSD 2006


andrey at mail.anti-aging-drugs.com wrote:
> Все работает отлично, кроме: нужно, чтоб домены вида www.example.ws и
> example.ws смотрели в папку 1, а все остальные поддомены
> *.example.ws смотрели в папку 2
>
> Пробую делать это с помощью проверки хоста регулярным выражением, но
> не получается
>
> if ($host ~* ^[^w][^w][^w][a-zA-Z0-9-]+(\.example\.ws)$)
>   
Ой, а можно вот этот регэксп перевести на русский?:) Особенно в части 
^[^w][^w][^w]
> Пробовал исключение делать и так (с тем же рез-м):
>
> ^(?<!www)([a-zA-Z0-9-])+(\.example\.ws)$
> ^(?!www)([a-zA-Z0-9-])+(\.example\.ws)$
>   
Ну есть же для этого консольная утилита:

# pcretest
    PCRE version 6.6 06-Feb-2006
      re> !^(www.)?example\.com!

Здесь знаки (!) в начале и конце - просто ограничивают регэксп, их в
конфиг nginx совать не надо. Можно еще использовать (/).

    data> www.example.com
     0: www.example.com
     1: www.
    data> example.com
     0: example.com
    data> other.example.com
    No match

Судя по тесту, со значительной долей вероятности, такой регэксп будет
ловить требуемую комбинацию.

-- 
Best regards, Andrey Y. Ostanovsky
St. Petersburg



More information about the nginx-ru mailing list