$fastcgi_script_name set incorrectly with alias directive
Dick Middleton
dick at fouter.net
Sun Aug 28 19:57:13 UTC 2011
Hi,
I having trouble getting alias directive to work as I would expect. One
thing I find is that the location part of the request is not being dropped in
the $fastcgi_script_name.
Here's my location block
location /mydnsadmin {
alias /var/www/lingbrae.ssl/usr;
index mydns.php;
include includes/php-alt.inc;
}
I initially set the SCRIPT_FILENAME to $request_filename which is computed
correctly but later I reset it to $document_root$fastcgi_script_name
but is incorrect.
Here's the debug:
...
*840 http script copy: "SCRIPT_FILENAME"
*840 http script var: "/var/www/lingbrae.ssl/usr/mydns.php" <--- this is
$request_filename
*840 fastcgi param: "SCRIPT_FILENAME: /var/www/lingbrae.ssl/usr/mydns.php"
<--correct
*840 http script copy: "SCRIPT_NAME"
*840 http script var: "/mydnsadmin/mydns.php"
*840 fastcgi param: "SCRIPT_NAME: /mydnsadmin/mydns.php"
*840 http script copy: "REQUEST_URI"
*840 http script var: "/mydnsadmin/"
*840 fastcgi param: "REQUEST_URI: /mydnsadmin/"
*840 http script copy: "DOCUMENT_URI"
*840 http script var: "/mydnsadmin/mydns.php"
*840 fastcgi param: "DOCUMENT_URI: /mydnsadmin/mydns.php"
*840 http script copy: "DOCUMENT_ROOT"
*840 http script var: "/var/www/lingbrae.ssl/usr"
*840 fastcgi param: "DOCUMENT_ROOT: /var/www/lingbrae.ssl/usr"
....
*840 fastcgi param: "REDIRECT_STATUS: 200"
*840 http script copy: "SCRIPT_FILENAME"
*840 http script var: "/var/www/lingbrae.ssl/usr" <-- This is $document_root
*840 http script var: "/mydnsadmin/mydns.php" <--- this is
$fastcgi_script_name (notice location is not stripped)
*840 fastcgi param: "SCRIPT_FILENAME:
/var/www/lingbrae.ssl/usr/mydnsadmin/mydns.php" <--- incorrect
Am I supposed to set the fastcgi params differently if I use the alias
directive or is this a problem with alias.
Dick
More information about the nginx
mailing list