Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблема с rewrite
andrey@xxxxxxxxxxxxxxxxxxxxxxxxx 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
|