Re: GET-запрос в параметры http_image_filter_module

Igor Sysoev igor на sysoev.ru
Ср Дек 9 17:47:43 MSK 2009


On Wed, Dec 09, 2009 at 08:34:06PM +0600, Igor V. Fatkulin wrote:

> Hello Igor,
> 
> Wednesday, December 9, 2009, 8:21:04 PM, you wrote:
> 
> IS> On Wed, Dec 09, 2009 at 08:03:25PM +0600, Igor V. Fatkulin wrote:
> 
> >> Доброго времени суток.
> >> 
> >> На сайте одна и та же картинка может отображаться в нескольких
> >> размерах, генерить несколько копий не хочется, хочется перевалить это
> >> на nginx.
> >> 
> >> Подскажите, плз, есть ли возможность скормить переменные GET-запроса
> >> или по регулярному выражению задать локейшн, чтобы происходил ресайз
> >> картинок модулем http_image_filter_module?
> >> 
> >> Сейчас в конфиге присутствует вот такой блок.
> >> 
> >>         location ~* ^.+.(jpg|jpeg|gif|swf|flv|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|html|htm)$ {
> >>             root   /data/web/site.ru/docroot;
> >>         }
> >> 
> >> Желаемое решение - чтобы вставленное через
> >> <img src="/image/picture.jpg?size_150"> обрабатывалось в
> >> соответствующем локейшене и ресайзило картинку пропорционально по
> >> горизонтали до 150рх.
> >> 
> >> Заранее благодарен,
> >> с уважением,
> >> Игорь
> >> 
> >> ЗЫ: подозреваю, что решение тупо, просто решить надо быстро, а времени
> >> на тесты нет(
> 
> IS> Лучше так:
> 
> IS>    location ~ ^/size/(150|200)/(.+)$ {
> IS>        alias          /data/web/site.ru/docroot/$2;
> IS>        image_filter   resize  $1 -;
> IS>    }
> 
> Как при этом должна выглядеть ссылка на картинку, пример?
> Есть ли вариант заставить ресайзить лежащие где попало картинки?
> Например, чтобы в одном локейшене обрабатывались картинки и из
> /image/1243.jpg и из /news/photo/355.jpg
> ?

/size/150/image/1243.jpg
/size/150/news/photo/355.jpg


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



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