Merge branch 'path_info_update' into 'master'

Enable PATH_INFO for plugins to use

See merge request tt-rss/tt-rss!61
This commit is contained in:
Andrew Dolgov 2024-09-12 04:10:15 +00:00
commit 16dd42c3d6

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,6 +42,22 @@ 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;
@ -53,10 +70,9 @@ http {
fastcgi_pass $backend;
}
location / {
try_files $uri $uri/ =404;
}
}
}