Подскажите правило для редиректа

Andrew Kopeyko kaa at zvuki.ru
Fri Apr 3 20:00:39 MSD 2009


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 at zvuki.ru>






More information about the nginx-ru mailing list