作者: 薄荷冰           Linux基础  |  网站架构  |  数据库  |  监控报警  |  shell系列  |  常用工具  |  常见问题


 

导航

 

语法:location [ = | ~ | ~* | ^~ ] uri { …一组命令… }

http://nginx.org/en/docs/http/ngx_http_core_module.html#location

location / {}:表示对/uri/目录及其子目录下的所有文件都匹配。所以”location / {}”的匹配范围是最大的。
location = /uri/ {}:表示只对目录或文件进行匹配,不对目录中的文件和子目录进行匹配。所以一般只用来做文件匹配
location ~ /uri/ {}:表示区分大小写的正则匹配。
location ~* /uri/ {}:表示不区分大小写的正则匹配。
location ^~ /uri/ {}:表示禁用正则匹配,即精确字符串匹配,此时正则中的元字符被解释成普通字符。

配对规则

nginx先检查URI的前缀路径,在这些路径中找到最精确匹配请求URI的路径。然后nginx按在配置文件中的出现顺序检查正则表达式路径,匹配上某个路径后即停止匹配并使用该路径的配置,否则使用最大前缀匹配的路径的配置。

使用”=”前缀可以定义URI和路径的精确匹配。如果发现匹配,则终止路径查找。例如请求”/”很频繁,定义”location = /”可以提高这些请求的处理速度,因为查找过程在第一次比较以后即结束。

配对优先级

(location = uri )  >  (location ^~ uri)  >  (location *~|~ uri)  >  (location uri)
等号           >        非正则          >               正则         > 没有任何符号

posted on 2018-08-06 20:39  薄荷冰  阅读(243)  评论(0编辑  收藏  举报