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