Директиву try_files удобно использовать в случае, если необходимо проверить несколько папок перед отдачей файла:
server {
...
root /var/www;
try_files $uri /var/storage$uri;
...
}
# Проверим наличие файла в папках /var/www и /var/storage
Для PHP часто необходимо все запросы отправлять на index.php, если не существует файла:
server {
...
root /var/www;
try_files $uri /index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# проверим наличие файла и запустим index.php, если такого файла не существует
Подробнее в официальной документации.