Você deve capturar a barra inicial. nginx
URIs têm uma barra inicial, por isso a sua diretiva try_files
(como você a tem) sempre falhará. Você adicionou a barra de volta à sua diretiva fastcgi_param SCRIPT_FILENAME
.
Tente isto:
location ~ ^/api(?<endpoint>/[^/]+)(?<pathinfo>.*) {
root /opt/software/endpoints;
try_files $endpoint.php =418;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$endpoint.php;
}