Проблема с 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