首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >try_files和NGINX中的一个空位置块?

问try_files和NGINX中的一个空位置块?
EN

Stack Overflow用户
提问于 2020-06-14 18:14:57
回答 1查看 1.1K关注 0票数 0

想知道做某事之间的区别:

代码语言:javascript
复制
location / {
  try_files $uri $uri/ =404;
}

并做:

代码语言:javascript
复制
location / {}

它们似乎都只在文件\文件夹存在时才提供服务,如果不存在,则返回404错误页。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-14 19:55:43

没有区别,try_files $uri $uri/ =404;正是默认的nginx行为:

  1. 检查$document_root$uri是否是一个文件,如果是,则向请求提供该文件的内容;
  2. 检查$document_root$uri是否是一个目录,如果是,则使用该目录中的第一个找到的索引文件来服务请求。如果没有找到索引文件,nginx将返回目录列表,如果您有autoindex on在您的nginx配置或HTTP 403 Forbidden错误,否则;
  3. 返回HTTP 404 Not found,如果$document_root$uri或文件都不是目录。

try_files指令的优点是,您可以指定其他文件/目录,以检查并选择如果没有找到这些文件/目录(跳转到另一个URI /跳转到某个指定位置/返回任何HTTP错误代码)。

然而,try_files可能会根据您的设置给您带来一些性能损失,请阅读@DanilaVershinin的这文章以获得更多详细信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62376467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档