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