$fastcgi_script_name

$fastcgi_script_name 变量包含正在由 FastCGI 服务器处理的脚本名称。 — NGINX Core (HTTP)

$fastcgi_script_name NGINX Core (HTTP)

说明

$fastcgi_script_name 变量在 NGINX 配置中用于检索传递给 FastCGI 服务器的脚本名称。该变量主要在使用 `fastcgi_pass` 指令(将请求转发到 FastCGI 服务器)时被设置。当处理传入请求时,NGINX 会从请求中提取 URI 的脚本部分,并相应地设置该变量的值。它确保 FastCGI 应用接收到用于处理的正确脚本路径,这对依赖特定路由机制的应用至关重要,例如运行在 FastCGI 下的 PHP 或 Python 应用。 在典型用法中,$fastcgi_script_name 会返回诸如 `/index.php` 或 `/app/script.php` 这样的值,反映应执行的脚本。如果没有找到脚本或请求未针对脚本,变量可能为空。因此,该变量不仅对路由到正确脚本很重要,而且在通过 URL 结构严格控制文件访问的应用中也起着关键作用。

配置示例

location / {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

子系统

http

可缓存

上下文

http, server, location

确保 `fastcgi_param SCRIPT_FILENAME` 正确设置为包含文档根目录和脚本名,否则 FastCGI 服务器可能无法正确定位该文件。

请记住,如果请求未指向特定脚本或该脚本不存在,$fastcgi_script_name 可能为空,导致意外错误。

在修改请求 URI 时,确保相应更新 $fastcgi_script_name 以反映这些更改。