NGINX,如何去掉$ fastcgi_script_name中的位置前缀

我已经读过: 如何从nginxconfiguration$ uri中删除位置块?

但有没有一种方法来剥离位置块的前缀从$ fastcgi_script_name不使用正则expression式?

例如 :

location /foo/ { access_log /var/log/nginx/access-truc.log FOO; alias /srv/http/php; fastcgi_pass fpm; fastcgi_index index.php; include fastcgi.conf; } 

(注意:FOO是显示$ fastcgi_script_name的日志格式)

fastcgi.conf有这一行:

 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

我希望将$fastcgi_script_name设置为只有bar.php而不是foo/bar.php的url http://example.com/foo/bar.php

我还没有find使用$fastcgi_script_name ,但我实际上发现额外的间接级别有点混乱。 我现在使用下面的代码片段:

 server { listen 80; root /var/www; try_files $uri $uri/ =404; autoindex on; location /openid { alias /opt/openid/www; index index.html index.php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; } } } 

http://host/openid/请求会将SCRIPT_FILENAME正确设置为/opt/openid/www/index.php