Re: resize image как задать переменную, если ее нет в аргументах
Maxim Dounin
mdounin at mdounin.ru
Wed Jun 17 13:05:37 UTC 2015
Hello!
On Wed, Jun 17, 2015 at 02:03:30AM -0400, cilrill wrote:
> спасибо.
>
> вылезла не понятная мне проблема (
> завел переменные с проверкой
>
> server {
> listen 80;
> server_name static.vhost static.vhost2;
>
> location ~ ^/(.*\.(?:jpg|gif|png))$ {
> alias /home/$host$uri;
> set $q 75;
> if ($arg_q) {
> set $q $arg_q;
> }
> if ($arg_s) {
> set $s $arg_s;
> }
> image_filter resize $s -;
> image_filter_jpeg_quality $q;
> access_log /var/log/nginx/access.img.log;
> error_page 415 = @images;
> }
>
> location @images {
> root /home/$host;
> }
> }
>
> развалилось )
>
> в дебаге вот такое
>
> 2015/06/17 05:06:27 [debug] 818#0: *105 content phase: 22
> 2015/06/17 05:06:27 [debug] 818#0: *105 http script copy: "/home/"
> 2015/06/17 05:06:27 [debug] 818#0: *105 http script var: "static.vhost"
> 2015/06/17 05:06:27 [debug] 818#0: *105 http script var: "/bg.png"
> 2015/06/17 05:06:27 [debug] 818#0: *105 http filename:
> "/home/static.vhost/bg.png1.1
> Host"
Что показывает nginx -v?
Выглядит, как проблема, исправленная в nginx 1.7.1:
*) Bugfix: the "alias" directive used inside a location given by a
regular expression worked incorrectly if the "if" or "limit_except"
directives were used.
Отмечу, что сейчас имеет смысл пользоваться 1.8.0 или 1.9.2, более
старые версии - исключительно на свой страх и риск.
[...]
> я не правильно пути для alias формирую?
Вообще тут нет смысла использовать alias, достаточно сказать
root /home/$host;
Остальное nginx сделает сам, и более корректно, чем при
использовании alias'а (не говоря уже про более эффективно).
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru