ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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



 




Copyright © Lexa Software, 1996-2009.