diff options
author | Remi Collet <remi@php.net> | 2013-04-30 08:55:18 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2013-04-30 08:55:18 +0200 |
commit | 4a92ae34011ad2246500f27469f378b66d832976 (patch) | |
tree | d2d5e1c4c92b4b9f9a9a3e2169eb7f8e2aa8d92a /sapi | |
parent | 4e773c1b92c5db328fbbca36e566a1c76957be63 (diff) | |
download | php-git-4a92ae34011ad2246500f27469f378b66d832976.tar.gz |
When Apache use RewriteRule to redirect, via mod_proxy_fgi, to php-fpm
the SCRIPT_FILENAME may contains the QUERY_STRING.
Ex : RewriteRule ^(.*)\.php$ fcgi://127.0.0.1:9000/$1.php [P]
From apache debug (build with -DFCGI_DUMP_ENV_VARS)
AH01062: sending env var 'SCRIPT_FILENAME' value 'proxy:fcgi://127.0.0.1:9000/var/www/html/info.php?foo'
AH01071: Got error 'Primary script unknown\n'
Diffstat (limited to 'sapi')
-rw-r--r-- | sapi/fpm/fpm/fpm_main.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index 61088c465b..28ed0be994 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -1098,7 +1098,7 @@ static void init_request_info(TSRMLS_D) #define APACHE_PROXY_FCGI_PREFIX "proxy:fcgi://" /* Fix proxy URLs in SCRIPT_FILENAME generated by Apache mod_proxy_fcgi: - * proxy:fcgi://localhost:9000/some-dir/info.php/test + * proxy:fcgi://localhost:9000/some-dir/info.php/test?foo=bar * should be changed to: * /some-dir/info.php/test * See: http://bugs.php.net/bug.php?id=54152 @@ -1118,6 +1118,11 @@ static void init_request_info(TSRMLS_D) memmove(env_script_filename, p, strlen(p) + 1); apache_was_here = 1; } + /* ignore query string if sent by Apache (RewriteRule) */ + p = strchr(env_script_filename, '?'); + if (p) { + *p =0; + } } if (CGIG(fix_pathinfo)) { |