ПРОЕКТЫ 


  АРХИВ 


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



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

2010/2/4 Slava Kokorin <slava.kokorin@xxxxxxxxx>
А так же   ([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@xxxxxxxxx> написал:

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@xxxxxxxx> написал:
>
> > Приветствую всех!
> > Существует такая проблема с 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@xxxxxxxxx
> > http://nginx.org/mailman/listinfo/nginx-ru
> >

> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru


--
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru



--
Regards,
Slava

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru




--
С уважением,
  Сергей Аверьянов,
 Тел.: +79272702841
 GTalk: averyanov@xxxxxxxxx


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.