Re: Проблема с реврайтом

Sergey Averyanov averyanov на gmail.com
Чт Фев 4 10:18:09 MSK 2010


Имхо в документацию nginx можно включить ссылку на мануал по регэкспам.
Тогда намного меньше велосипедов изобретаться будет

2010/2/4 Slava Kokorin <slava.kokorin at gmail.com>

> А так же   ([0123456789]*)   =>     (\d*)
>
> в итоге из
>
> ^/torrentbar/([0123456789]*)-([0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_]*)\.png$
> /torrentbar/torrentbar.php?id=$1&style=$2 last;
>
> может получится красивенькое
>
> ^/torrentbar/(\d*)-(\w*)\.png$ /torrentbar/torrentbar.php?id=$1&style=$2
> last;
>
> И кстати, * означает 0 и более символов, а значит в этот regexp попадут и
> отрерайтится
>
>   /torrentbar/-a.png  /torrentbar/torrentbar.php?id=&style=a
>   /torrentbar/1-.png /torrentbar/torrentbar.php?id=1&style=
>   /torrentbar/-.png  /torrentbar/torrentbar.php?id=&style=
>
>
> По поводу второго rewrite - верно заметили, что +  это квантификатор, но
> означает 1 и более символов.
> Подозреваю вместо (+)  должно было бы быть что то типа  (.+)  или если там
> цифры после _ то  (\d+)
>
> 4 февраля 2010 г. 9:48 пользователь Igor Sysoev <igor at sysoev.ru> написал:
>
> On Thu, Feb 04, 2010 at 09:17:12AM +0300, Naf Nafof wrote:
>>
>> > Круто, а про [0-9a-zA-Z_]+ вы не слышали?
>>
>> "\w+"
>>
>> > К тому же там первый рерайт объединить можно весь.
>> > Это оффтоп конечно, но читабельность сильно повысится.
>> >
>> > Что конкретно во втором не работает? Что там есть и что получить хотите?
>> >
>> > PS Да и 84х битный процессор это тоже не плохо, мне бы такой :)
>> >
>> > 4 февраля 2010 г. 7:11 пользователь Craken <nginx-forum at nginx.us>
>> написал:
>> >
>> > > Приветствую всех!
>> > > Существует такая проблема с nginx-ом:
>> > > Есть такой реврайт:
>> > >
>> > >                    rewrite
>> > >
>> ^/torrentbar/([0123456789]*)-([0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_]*)\.png$
>> > > /torrentbar/torrentbar.php?id=$1&style=$2 last;
>> > >                    rewrite
>> > >
>> ^/torrentbar/(.*)/([0123456789]*)-([0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_]*)\.png$
>> > > /torrentbar/torrentbar.php?id=$1&style=$2 last;
>> > >                    rewrite ^/torrentbar/(.*)/([0123456789]*)\.png$
>> > > /torrentbar/torrentbar.php?id=$2 last;
>> > >                    rewrite ^/torrentbar/([0123456789]*)\.png$
>> > > /torrentbar/torrentbar.php?id=$1 last;
>> > >
>> > >
>> > > работает на УРА!
>> > > Но перед ним есть другой реврайт, вот такой:
>> > >
>> > >                    rewrite
>> > > ^/kinopoisk/(imdb|kp|kp1|kp2|kp_1|kp_2)_(+)\.(gif|jpg|png)$
>> > > /bf_search/index.php?to=image&query=$1&id=$2 last;
>> > >                    rewrite ^/imdb/imdb_(+)\.gif$
>> > > /bf_search/index.php?to=image&query=imdb&id=$1 last;
>> > >
>> > >
>> > > По какой-то причине не работает!
>> > > А самое интересное, что есть другой сервер с идентичным конфигом и все
>> > > работает!
>> > > Вот только сервак на котором он работает 64-х битный с процессором
>> ксеон, а
>> > > тот на котором НЕ работает кор2дуо 84-х битный
>> > > Linux CentOS 5.3
>> > >
>> > > Заранее всем спасибо!
>> > >
>> > > Posted at Nginx Forum:
>> > > http://forum.nginx.org/read.php?21,50270,50270#msg-50270
>> > >
>> > >
>> > > _______________________________________________
>> > > nginx-ru mailing list
>> > > nginx-ru at nginx.org
>> > > http://nginx.org/mailman/listinfo/nginx-ru
>> > >
>>
>> > _______________________________________________
>> > nginx-ru mailing list
>> > nginx-ru at nginx.org
>> > http://nginx.org/mailman/listinfo/nginx-ru
>>
>>
>> --
>> Игорь Сысоев
>> http://sysoev.ru
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> --
> Regards,
> Slava
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
>


-- 
С уважением,
  Сергей Аверьянов,
 Тел.: +79272702841
 GTalk: averyanov at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100204/46548b90/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru