Update nginx.conf to move the currently unused PATH_INFO configuration into a separate location rule for plugins to leverage

This commit is contained in:
Eric Pierce
2024-09-11 21:13:50 +00:00
parent 1fb202b258
commit 48db6beca7

View File

@@ -34,6 +34,7 @@ http {
rewrite ${APP_BASE}/healthz ${APP_BASE}/public.php?op=healthcheck;
# Regular PHP handling (without PATH_INFO)
location ~ \.php$ {
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
@@ -41,22 +42,37 @@ http {
# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;
fastcgi_index index.php;
include fastcgi.conf;
set $backend "${APP_UPSTREAM}:9000";
fastcgi_pass $backend;
}
# Allow PATH_INFO for PHP files in plugins.local directories with an /api/ sub directory to allow plugins to leverage when desired
location ~ /plugins\.local/.*/api/.*\.php(/|$) {
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;
# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
fastcgi_index index.php;
include fastcgi.conf;
set $backend "${APP_UPSTREAM}:9000";
fastcgi_pass $backend;
}
location / {
try_files $uri $uri/ =404;
}
}
}