nginx location正则

Nginx Location 正则表达式

0.3582017.10.12 16:39:46字数 258阅读 13256

部分内容摘抄自 Nginx官网

Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default: 
Context: server, location

  • location正则表达式书写示例:

1. 等号(=)

表示完全匹配规则才执行操作

location = /index {
    [ configuration A ] } 

URL为 http://{domain_name}/index 时,才会执行配置中操作。

2. 波浪号(~)

表示执行正则匹配,但区分大小写

location ~ /page/\d{1,2} { [ configuration B ] } 

URL 为 http://{domain_name}/page/1 匹配结尾数字为1-99时,配置生效。

3.波浪号与星号(~*)

表示执行正则匹配,但 区分大小写

location ~* /\.(jpg|jpeg|gif) { [ configuration C ] } 

匹配所有url以jpg、jpeg、gif结尾时,配置生效。

4.脱字符与波浪号(^~)

表示普通字符匹配,前缀匹配有效,配置生效
location ^~ /images/ {
[ cofigurations D ]
}
URL 为 http://{domain_name}/images/1.gif 时,配置生效。

5.@

定义一个location,用于处理内部重定向

location @error {
    proxy_pass http://error; } error_page 404 @error; 

各字符有效优先级

= > ^~ > ~/~*
当(~/~*)中有多个正则匹配时,选择正则表达式最长的配置执行。

猜你喜欢

转载自www.cnblogs.com/python-cat/p/11583374.html
今日推荐