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