Скажите пожалуйста, есть ли возможность в 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
}