加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx中的fastcgi_index用于什么?

发布时间:2020-12-13 21:05:47 所属栏目:Nginx 来源:网络整理
导读:在许多网站上都可以找到这个nginx位置块: location ~ .php${ fastcgi_pass 127.0.0.1:9000 fastcgi_index index.php ...} 鉴于official documentation的fastcgi_index,它似乎在请求以/结尾时使用.但是,它与上面的位置块的正则表达式不匹配?我错过了一些关

在许多网站上都可以找到这个nginx位置块:

location ~ .php${
    fastcgi_pass 127.0.0.1:9000
    fastcgi_index index.php
    ...
}

鉴于official documentation的fastcgi_index,它似乎在请求以/结尾时使用.但是,它与上面的位置块的正则表达式不匹配?我错过了一些关于fastcgi_index指令的内容吗?

最佳答案
你是对的,如果你的nginx配置(在location指令之外)没有索引指令,那么location指令永远不会匹配,fastcgi_index指令也没用.

如果您的配置中有这样的行

index index.php

然后一个请求/将创建一个内部重定向到/index.php,该位置将匹配,fastcgi将被调用. php-fpm需要一个指向正在执行的文件的SCRIPT_FILENAME参数.通常,配置看起来像这样:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

$fastcgi_script_name包含匹配脚本的名称,因此将忽略fastcgi_index.

至少有一个实例,其中fastcgi_index是有用的和使用的:when nginx and php-fpm are on different servers and nginx can’t match the index.php file.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读