Я очистил свою конфигурацию nginx, заменив все if
s с try_files
но у меня есть последний, который меня беспокоит. Я не хочу, чтобы он вел себя как try_files, только если метод HTTP не DELETE
. Удалить используется для удаления кешированного файла.
Спасибо за свет!
location / {
if ($request_method ~ ^DELETE$) {
rewrite ^/(.+)$ /index.php?url=$1 last;
}
if (-e $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?url=$1 last;
}
}
Кстати: чем больше я думаю об этом, тем более небезопасным кажется это ...
Решение, которое я нашел, - сохранить первый if
но замените два других на лучший try_files
.
location / {
if ($request_method ~ ^DELETE$) {
rewrite ^ /index.php last;
}
try_files $uri $uri/ /index.php?$args;
}