ПРОЕКТЫ 


  АРХИВ 


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[2]: Проблема с rewrite



Здравствуйте, Andrey.

Спасибо, Андрей, за наводку на утилиту.

Я с UNIX-подобными ОС и PCRE никогда не пользовался, но возникла необходимость. 
Теперь
буду знать, чем тестить.

Проект уже заработал, как требуется. Сделал двумя серверами (думаю,
это меньше будет грузить сервер, т.к. отсутствуют всякие регекспы).

Игорь, спасибо за классный сервер :-)

> 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

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




-- 
С уважением,
 andrey                          mailto:andrey@xxxxxxxxxxxxxxxxxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.