Nginx学习(1)

来源:互联网 发布:我得网络 编辑:程序博客网 时间:2024/06/05 18:56

Location学习

Location写法

location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... }

1. 没有修饰符 表示:必须以指定模式开始

Server{  Server_name mao.com;  Location /abc{…}}

Mao.com/abc /abc?a=1 /abc/ /abcde 都可以进入该location

2. 有修饰符 “=” 表示:必须与指定的模式精确匹配

Server{  Server_name mao.com;  Location = /abc{…}}

Mao.com/abc /abc?a=1 可以进入该location

/abc/ /abcde 不可以进入该location

3. 有修饰符 “~” 表示:指定的正则表达式要区分大小写

Server{  Server_name mao.com;  Location ~ ^/abc$ {…}}

Mao.com/abc /abc?a=1 可以进入该location

/abc/ /ABC /abcde 不可以进入该location

4. 有修饰符 “~*” 表示:指定的正则表达式不区分大小写

Server{  Server_name mao.com;  Location ~* ^/abc$ {…}}

Mao.com/abc /abc?a=1 /ABC 可以进入该location

/abc/ /abcde 不可以进入该location

5. 有修饰符 “^~” 表示:类似于无修饰符的行为,也是以指定模式开始,不同的是,如果模式匹配,那么久停止搜索其他模式

6. 有修饰符 “@” 表示:定义命名location区段,这些区段客户端不能访问,只可以有内部产生的请求来访问,如error-page等

查找顺序和优先级

1. 带有“=”的精确匹配优先

2. 没有修饰符的精确匹配

3. 正则表达式按照他们在配置文件中定义的顺序

4. 带有“^~”修饰符的开头匹配

5. 带有“~”或“~*”修饰符的,如果正则表达式于uri匹配

6. 没有修饰符的,如果指定字符串于uri开头匹配

原创粉丝点击