可以覆盖Nginx中的$ fastcgi_script_name?

有时你必须重写Nginx中用于某些请求的fastcgi_param SCRIPT_FILENAME 。 但是,如果fastcgi_param SCRIPT_FILENAME是包含在你的Nginxconfiguration中的fastcgi.conf等包含文件的一部分,那么把fastcgi_param SCRIPT_FILENAME从那里拉出来,然后把它放到你的主configuration文件中,只是为了覆盖它一个地方。

通常fastcgi_param SCRIPT_FILENAME的值为$document_root$fastcgi_script_name所以重写$fastcgi_script_name将是一个完美的解决scheme。 但文档说这是一个embedded式variables,所以没有办法覆盖它?

这将是好的,如果它的工作,但它不:

 location /example { root = /files/example_files; fastcgi_script_name = special.php; include fastcgi.conf; } 

也不是这样:

 location /example { root = /files/example_files; set $fastcgi_script_name special.php; include fastcgi.conf; } 

错误信息是:

重复的“fastcgi_script_name”variables