ПРОЕКТЫ 


  АРХИВ 


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[3]: valid_referers



Здравствуйте, Igor!

Wednesday, March 09, 2005, 6:27:23 PM, you wrote:

IS> On Thu, 3 Mar 2005, Vyacheslav Kokorin wrote:

>>  Скажите пожалуйста, есть ли возможность в rewrite узнать о существовании 
>> файла?
>>  Или как можно сформировать rewrite-правило в ответ на 404 ошибку, в
>>  которое можно включить переменные $1, $2 из URL, которое вызвало 404?
>>
>>  Пусть для примера есть такой конфиг:
>>  valid_referers none;
>>  location / {
>>     root   /home/nginx_www/;
>>       rewrite ^/subfolder/(.*)$ /$1;
>>       if ($invalid_referer) {
>>          rewrite   ^/(.*)$ http://elsewhere.tld/faild_referer.pl?$1;
>>          # Вот здесь мы можем "вытащить весь URL"
>>       }
>>       error_page 404 /custom_404.html;
>>     }
>>   }
>>
>>   location /custom_404.html {
>>     rewrite ^/(.*)$ http://elsewhere.tld/failed_got404.pl?$1;
>>     # Естественно, это работать не будет как при проверке  referer
>>   }

IS> Ни того, ни другого пока нет.
Спасибо, уже разобрался с этим.
Если интересно кому-то будет - с помощью такой вот конструкции:
   error_page  404  =302 /pass/404_handler
   location /pass/ {
     proxy_pass http://127.0.0.1/
     proxy_set_x_url On;
   }

   И дальше всё на backend-е. =302 нужен для того, чтобы Location:
   правильно отдался nginx-ом.


-- 
С уважением, Вячеслав Кокорин
Системный администратор хостинга PeterHost.Ru
Тел: (812) 335-99-89
     (095) 785-24-52
http://www.PeterHost.Ru





 




Copyright © Lexa Software, 1996-2009.