可以在 Nginx 中覆寫 $fastcgi_script_name 嗎?

可以在 Nginx 中覆寫 $fastcgi_script_name 嗎?

有時你必須覆寫fastcgi_param SCRIPT_FILENAMENginx 中某些請求所使用的。但是,如果fastcgi_param SCRIPT_FILENAME它是包含檔案(例如 fastcgi.conf)的一部分,並且在許多地方都包含在 Nginx 配置中,那麼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”變數

相關內容