ПРОЕКТЫ 


  АРХИВ 


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: random_index


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: random_index
  • From: Валентин Бартенев <ne@xxxxxxxx>
  • Date: Thu, 3 Nov 2011 22:13:26 +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=9fvuqcbTRFq6KBWWUItacO0hhRFrfhrTvBw9unAgQSI=; b=AUrM4iEY9O39GIP8DRLd52CtQGGP5scejnxjfLhT1wgkAC1Bd0NyjI6dfLCcUwLcozK7nhsB7x62D3jizi9dmb3pk2dKg9lPrO+DheqUs9RGxiahfj8+2g5kFb/Br084uaLbpIX7/rz9X9X9bAS/MXdiYMV0qkPtR2toRMwzEImym65AiP2sRCu9X2AvOWuVL5qfsuzziyrPTjMYoG0/Cypkr7rkPsdHl4UdHaM54+2NqbaNaljqJhfU3ypH2LWXvgYM6iaO0fctWvKhq39ECydKZA1ilkGi1uljy77JvxpwcZPj8hR/Y8zkbuXuWUjyyuwLi7eG+saovOvou64THw==;
  • In-reply-to: <839241475.20111103213553@xxxxxxx>
  • References: <713710584.20111103192805@xxxxxxx> <20111103163104.GB95664@xxxxxxxxxx> <839241475.20111103213553@xxxxxxx>

On Thursday 03 November 2011 22:35:53 ola wrote:
[...]
> > Должно сработать как-то так:
> >     location ~ ^/banner(?<number>\d+)/(?<file>.*) {
> >     
> >         alias /common/example.org/adv/$number/$file;
> >         random_index on;
> >     
> >     }
> 
> Это  немного  не  то. Если использовать ваш вариант, то получается что
> рандомные  имена  файлов  (?<file>.*)  надо  генерить  на  бекенде.  А
> хотелось бы использовать nginx для этой задачи.

А вы пробовали предложенную конфигурацию?

1) Как я себе представляю, она должна работать так:

Запрос /banner2/ попадет в указанный локейшн,
при этом $number == 2 , а $file == ""

alias примет вид: /common/example.org/adv/2/

Поскольку uri заканчивается на /, то сработает random_index и возьмет один 
случайный файл (назовем его random.file) из root + alias и сделает внутренний 
редирект на /banner2/random.file

2) Это запрос /banner2/random.file опять попадет в указанный локейшн,
при этом: $number == 2 , а $file == random.file

alias примет вид: /common/example.org/adv/2/random.file

Поскольку uri теперь не заканчивается на / , то random_index
не сработает, а будет просто отдан файл root + alias, т. е.
/common/example.org/adv/2/random.file

Не этого ли вы хотите?

--
Валентин Бартенев
http://vbart.ru/


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.