valid_referers

Vyacheslav Kokorin slava at peterhost.ru
Wed Mar 9 19:09:24 MSK 2005


Здравствуйте, 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



More information about the nginx-ru mailing list