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