Nginx 中 try_files 指令的不同配置有何区别?

DDD
发布: 2024-10-26 10:36:09
原创
543人浏览过

nginx 中 try_files 指令的不同配置有何区别?

nginx 中 try_files 指令的不同配置

在 nginx 配置文件中,try_files 指令用于指定当客户端请求的文件不存在时服务器的行为。此指令可以有多个参数,每个参数代表一个尝试的文件路径。当 try_files 中列出的所有文件均不存在时,服务器将返回 404 错误。

以下是一组 try_files 配置,以及它们之间的区别

  • try_files $uri $uri/ /index.php$args;

    此配置将尝试以下文件:

    • 请求的 URI(例如 /hello/world)
    • 请求的 URI 加上尾部斜杠(例如 /hello/world/)
    • index.php 以及原始请求 URI 中的参数(例如 /index.php?foo=bar&big=foot)
  • try_files $uri $uri/ /index.php?/$uri;

    此配置与前一个配置类似,但它将请求 URI 添加到 index.php 后面的查询字符串中,而不是作为参数传递。这意味着 $_GET 数组将为空,而 $_SERVER['REQUEST_URI'] 将包含请求的完整 URI。

  • try_files $uri $uri/ /index.php?$query_string;

    有道小P
    有道小P

    有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。

    有道小P 64
    查看详情 有道小P

    此配置将查询字符串添加到 index.php 后面,而不是将参数传递给脚本。这意味着 $_GET 数组将为空,而 $_SERVER['QUERY_STRING'] 将包含查询字符串。

  • try_files $uri $uri/ /index.php?$args;

    此配置将原始请求 URI 中的参数传递给 index.php 脚本。这意味着 $_GET 数组将包含请求中的参数,而 $_SERVER['QUERY_STRING'] 将为空。

  • try_files $uri /index.php$is_args$args;

    此配置将请求 URI 与 index.php 拼接,并添加原始请求 URI 中的任何参数。$_GET 数组将包含参数,而 $_SERVER['REQUEST_URI'] 将包含请求的完整 URI。

变量 $uri、$args 和 $query_string

在 nginx 配置中,$uri、$args 和 $query_string 是内置变量,用于表示请求的不同方面:

  • $uri:请求的 URI,不包括查询字符串。
  • $args:请求的查询字符串参数,不包括问号 (?)。
  • $query_string:完整的查询字符串,包括问号 (?)。

以上就是Nginx 中 try_files 指令的不同配置有何区别?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号