Tengo problemas para que varios bloques de ubicación funcionen con las siguientes configuraciones. Los objetivos son /api se enrutará a los puntos finales de PHP y /phpmyadmin se enrutará a las páginas de PhpMyAdmin.
server { listen 80; index index.php index.html; server_name _; location / { try_files $uri $uri/ =404; } location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/run/php/php8.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /api { alias /var/www/html/api/src/public; index index.php; try_files $uri /index.php?$query_string; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } PhpMyAdmin está funcionando, pero Nginx devuelve 404 cuando se accede con /api . Los registros se muestran a continuación. Sin embargo, index.php definitivamente existe en /var/www/html/api/src/public .
[14/Jul/2021:06:47:24 +0800] "GET /api/ HTTP/1.1" 404 197 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"