если у меня есть директива местоположения с именованными захватами:
location ~ ^/api/(?<endpoint>[^/]+)(?<pathinfo>.*) {
root /opt/software/endpoints;
## breaks the config:
# try_files $endpoint.php =418;
include fastcgi_params; # as supplied by debian 8 "jessie"
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$endpoint.php;
}
без try_files вызов правильного URL вызывает php-файл и возвращает результат.
curl -s http://example.com/api/foo/param
> output of foo.php with param "param"
но когда я также активирую try_files в конфиге, curl всегда возвращает 418.
(причина в том, что я хочу указать внутреннее перенаправление, если такой конечной точки не существует, как последний параметр try_files. Но я думаю, что = 418 лучше демонстрирует загадку)