random_index
Валентин Бартенев
ne на vbart.ru
Чт Ноя 3 18:13:26 UTC 2011
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