помогите с rewrite для nginx

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

BelSat
Сообщения: 7
ОС: Arch Linux

помогите с rewrite для nginx

Сообщение BelSat »

Здравствуйте

помогите с правилами для rewrite

Стоит задача: в зависимости от referer, с которого пришел юзер, выдать
ему картинку с определенным warermark, чтобы постоянно не дергать
апач, организовать подобие кеширования. Т.е.

1. читаем реферер
2. перекидываем клиента в его папку кеша и выдаем картинку оттуда
3. если картинки нет, то перекидываем на скрипт, который формирует
картинку с водяным знаком отдает клиенту и складывает в кеш для
последующих запросов.


по отдельности все работает :) вместе никак не могу осилить.

пытался так :

Код: Выделить всё

if ($http_referer ~ site1.ru )
   {
   set $ref_dir "/client/site1.ru";
#    rewrite  "^(/pic_b)/([0-9].*)/([0-9].*)/([0-9].*)/(.*)\.(.*)" $ref_dir/v2.php?id=$5
   rewrite  "^(/pic_b)/([0-9].*)/([0-9].*)/([0-9].*)/(.*)\.(.*)" $ref_dir/$5.$6 last;
   error_page  404 = @site1.ru;
   }


И никак не могу понять, что мне прописать в @site1.ru , чтобы отработал
скрипт /client/site1.ru/v2.php?id=$5

Код: Выделить всё

location @site1.ru {
???????????
}



Возможно можно как-то по-другому это все реализовать. Выслушаю любые предложения.

iУведомление от модератора Aectann
Большая просьба ставить знаки препинания. Без них Ваши сообщения трудно воспринимаются.
Спасибо сказали: