带有 try_files 和重写的 Nginx 配置:优先级?

Pen*_*gal 4 configuration nginx

我正在尝试合理化我的 Nginx 服务器配置,但我有一个我无法解决的相当愚蠢的问题。那么,问题来了:是try_files在之前还是之后解析rewrite ?问不同,我必须把try_files以后所有的 rewrite指令,或者是Nginx的配置分析器足够聪明,以评估try_files 的所有相关rewrite指令?

与配置合理化的链接是这个问题的答案将改变配置的组织,即如果配置文件的顺序try_filesrewrite更改配置行为,它将迫使我分散我的包含,其中一些包含try_files和其他包含rewrite,因为我也rewrite直接在nginx.conf.

Ale*_*Ten 7

Nginx 分阶段处理请求,并且rewrite的阶段总是 try_files阶段之前。因此,这些指令在 config 中的顺序无关紧要。

  • nginx wiki http://wiki.nginx.org/Phases 上有页面。它也在源代码中 https://github.com/nginx/nginx/blob/master/src/http/ngx_http.c#L477 (2认同)