fastcgi_index

当处理的 FastCGI 请求没有指定文件名时,`fastcgi_index` 指令设置要提供的默认文件。 — NGINX HTTP Core

fastcgi_index
httpserverlocation
语法fastcgi_index file_name;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

NGINX 中的 `fastcgi_index` 指令指定当对不包含文件名的 `location` 发起 FastCGI 请求时要提供的默认文件。当客户端请求一个目录时,NGINX 会检查该目录中是否存在指定的 `fastcgi_index` 文件。如果请求中没有提供具体文件,NGINX 会自动将 `fastcgi_index` 的值附加到请求中,以便 FastCGI 服务器生成响应。 该指令通常与 `fastcgi_param` 和 `include` 设置配合使用,从而更无缝地集成 PHP 或其他基于 FastCGI 的应用。它通过确保在预期有索引文件(例如 `index.php`)时自动提供该文件,从而提升用户体验,而无需客户端显式指定。该指令可以在多个配置层级设置:`http`、`server` 和 `location`,这使得在不同 NGINX 上下文中可以进行更细粒度的控制。

配置示例

location / {
    index index.php;
    fastcgi_index index.php;
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
}

确保指定的文件存在于该目录中,以便能够正确提供。

如果未设置此指令,当期望使用索引文件但未由 FastCGI 明确请求时,可能会导致 404 错误。