Я хочу напрямую обслуживать все существующие файлы (кроме файлов .php)
А остальные ВСЕ запросы (не только .php) направляйте их на сервер fastcgi.
Я могу перенаправить все .php файлы в fastcgi с помощью:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
И обслуживать другие статические файлы с помощью:
location / {
}
Но я хочу сначала обработать «все статические файлы, которые существуют и не оканчиваются на .php», а затем обработать «все остальные запросы» (необязательно заканчивающиеся на php) на fastcgi,
Есть идеи сделать это?
Спасибо!
Ты можешь использовать try_files для этого.
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
// other CGI parameters
}
Убедитесь, что вы знаете об общем подводные камни.
Других решений пока нет …