Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[3]: GET-запрос в параметры ht tp_image_filter_module
>>> >> На сайте одна и та же картинка может отображаться в нескольких
>>> >> размерах, генерить несколько копий не хочется, хочется перевалить это
>>> >> на 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
>>> ?
IS>> /size/150/image/1243.jpg
IS>> /size/150/news/photo/355.jpg
В запоздалую догонку - есть вариант настройки кеширования, чтобы
ресайз делался только если картинка поменялась, а если нет, то бралось
бы уже пережатое кешированное?
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|