ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Простейшая арифметика в конфиге


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Простейшая арифметика в конфиге
  • From: Валентин Бартенев <ne@xxxxxxxx>
  • Date: Mon, 28 Nov 2011 14:14:25 +0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=vbart.ru; s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:In-Reply-To:References:Date:Subject:To:From; bh=79TirXFcD0dKSBK9vV1VKWN2mv2a2YL+k7V3UDnIJnw=; b=N+KOf/F3SmaFqWmTlqsH2Vgb2IWzPEQLJuhjlQzjUilyMcLuujFMH0zKnBacN6Q5Osn4d2ZTf/U53AqL9ZEUhpD1QGM7CeyLpqxt80a5J+EWSGpnANUm6CqYHWw2vd5kXfP55QtviwCcD2owZ6YDn7PYJYmB25vYiV6ZeMNSNepSNOsCWq/9KTWs1qIEW8dI+33vGJZkAOqMrkIhYQCO5X74aowa6iOxDXT5tTJCeJwakwTsQijk0UduJhGm868KkEPI1V6s+K8gMoQMTTFZIWpsF6IVkm7U+9U+GyJOfzzFnwHP2R2pgD2Q0zSaoAMomqSIsZmo7uYBuoMnBf/WxA==;
  • In-reply-to: <3a966f415fc7af595e6a954a18143f34.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <3a966f415fc7af595e6a954a18143f34.NginxMailingListRussian@xxxxxxxxxxxxxxx>

On Monday 28 November 2011 12:20:48 mennanov wrote:
> У меня есть папка "i" в корне сайта, в ней
> лежат папки типа 0, 100, 200, 300 ... 600000 ...etc, а
> уже в них лежат файлы .jpg
> Т.е. я создаю отдельную папку для каждой
> сотой картинки, так в папке 200 будут
> лежать файлы 200.jpg - 299.jpg, в папке 300 будут
> файлы 300.jpg - 399.jpg
> Проблема в то что я не могу написать
> соотв. конфигурацию и вычислить
> название этой папки, вычисляется оно
> просто: ID - (ID%100), т.е. для запроса /i/256.jpg
> будет вычислено: 256 - (256 % 100) = 200 и
> картинку следует искать по адресу
> /i/200/256.jpg
> 
> Я пробовал делать вот так:
> 
> location ~ /i/(.*)\.jpg {
>           set $folder $1-($1%100);
>           try_files /i/$folder/$1.jpg =400;
>         }
> 
> Но это не сработало из синтаксических
> ошибок...
> 

Попробуйте что-нибудь такое:

location /i/ {

  location ~ ^/i/(\d\d?)\.jpg$ {
    try_files /i/0/$1.jpg =400;
  }

  location ~ ^/i/((?<huns>\d+)\d\d)\.jpg$ {
    try_files /i/${huns}00/$1.jpg =400;
  }

}

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.