可以在 Nginx 中覆盖 $fastcgi_script_name 吗?

可以在 Nginx 中覆盖 $fastcgi_script_name 吗?

有时您必须覆盖fastcgi_param SCRIPT_FILENAMENginx 中用于某些请求的 。但是,如果它是包含文件(例如 fastcgi.conf)的一部分,而该文件包含在 Nginx 配置的许多地方,那么将其从那里拉出来并散布到您的主配置文件中只是为了在一个地方覆盖它,fastcgi_param SCRIPT_FILENAME那就太难看了。fastcgi_param SCRIPT_FILENAME

通常fastcgi_param SCRIPT_FILENAME具有该值$document_root$fastcgi_script_name,因此覆盖$fastcgi_script_name将是完美的解决方案。但是文档说这是一个嵌入变量,那么没有办法覆盖它吗?

如果它能起作用那就太好了,但它却不能:

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”变量

相关内容