Re: rewrite в завсимости от referer c кешированием :)

BelSat Support support at belsat.net
Mon Feb 23 23:33:08 MSK 2009


23 февраля 2009 г. 19:32 пользователь Alex Loskutov <alexus at fenek.ru> написал:
>> И никак не могу понять что мне прописать в @site1.ru  чтобы отработал
>> скрипт /client/site1.ru/v2.php?id=$5
>
> proxy_pass        http://apache:port/;

да не.
Возможно я неправильно выразился или просто чего то не допонимаю.

если я неправ поправьте:

1. выполняется правило rewrite
"^(/pic_b)/([0-9].*)/([0-9].*)/([0-9].*)/(.*)\.(.*)" $ref_dir/$5.$6
last; (отдать картинку сушествующую в кеше)
2. если картинки нет то срабатывает правило 404 и перекидывает в @site1.ru
3. я думаю что в @site1.ru нужно опять сделать реврайт, но уже на
скрипт /v2.php...
4. вопрос в следующем какой или хотя бы какие $uri и.т.д. нужно
реврайтить. Исходные или уже преобразованные на прошлом шаге.
5. извините за запутанность :)
6. возможно мой подход и не оптимальный.
>
> BelSat Support пишет:
>>
>> Здравствуйте
>>
>> помогите с правилами для 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 {
>> ???????????
>> }
>>
>>
>> Спасибо за внимание.
>>
>
>
>


More information about the nginx-ru mailing list