ПРОЕКТЫ 


  АРХИВ 


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: Подскажите правило для редиректа



А чем [0-9] быстрее \d?
+ {5} - странно, ведь и более ранние фото тоже реврайтить наверняка надо :) ну и бОльшие.

On Apr 3, 2009, at 8:00 PM, Andrew Kopeyko wrote:

On Fri, 3 Apr 2009, Peter wrote:

Есть папка foto с картинками, названия файлов вида 123456.jpg и
sm_123456.jpg
Хочу разложить все картинки в две папки sm и big, а внутри этих папок ещё по 10 папкам - 0, 1, 2, 3... 9 по принципу "название папки = последняя цифра в
названии файла". Т.е. обращения к файлу /foto/123456.jpg должны
редиректиться (с 302-м редиректом)  на /foto/big/6/123456.jpg, а
/foto/sm_123456.jpg на /foto/sm/6/sm_123456.jpg

Зачем внешний редирект, когда можно обойтись rewrite'ом?

Подскажите, как записать такую конструкцию?

Как-то так :

location /foto/ {
   rewrite  (.*)\/([0-9]{5})(([0-9])\.jpg  $1/big/$3/$2$3.jpg  break;
rewrite (.*)\/sm_([0-9]{5})(([0-9])\.jpg $1/sm/$3/sm_$2$3.jpg break;
   ...
}


--
Best regards,
Andrew Kopeyko <kaa@xxxxxxxx>







 




Copyright © Lexa Software, 1996-2009.