> Приветствую всех.
> Как настроить location в nginx так, чтобы
> для get-запросов вида /index.php?p1=val1&p2=val2&p3=val3
> проверять существует ли файл /tmp/val1_val2_val3
> если такой есть, то отдаем его, иначе отправляем к бэкенду php-fpm
> Спасибо.Если решать задачу в лоб, то как-то так:
location ~ /index.php {
if ($args ~* "p1=val1&p2=val2&p3=val3") {
rewrite ^ /static/$arg_p1/$arg_p2/$arg_p3 last;
}
}
location ~ ^/static/(.*)/(.*)/(.*)$ {
root "/tmp";
set $filename $1_$2_$3;
try_files /123/$filename @backend;
}
location @backend {
proxy_pass ...
}
Хотя косячно, на @backend придется получать изначальное значение $filename.