nginx location匹配规则

location匹配命令:

 

~      #波浪线表示执行一个正则匹配,区分大小写

 

~*    #表示执行一个正则匹配,不区分大小写


^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录


=      #进行普通字符精确匹配

 

location  / {

  # 匹配任何请求
}

location ^~ /images/{

  # 匹配任何以 /images/ 开始的请求
}
 
location  ~*  \.(gif|jpg|jpeg)$ {
 
  # 匹配以 gif, jpg, or jpeg结尾的请求.
}
 
 
location示例:
 
一、匹配以gif,jpg,jpeg,png结尾的请求,判断url是否符合以images开头,.png结尾的匹配规则
二、匹配来自/H5的请求

server {
listen 80;
server_name h5.bestwayhealth.cn;
location ~*\.(gif|jpg|jpeg|png)$ {
if ( $request_uri ~ ^/images/.*.png$) {
proxy_pass http://10.25.193.211:8082/H5/$request_uri;
}
}
location ^~ /H5 {
proxy_pass http://10.25.194.211:8082/HPay5/qrCode.html;
client_max_body_size 1000m;
}
}

 

三、匹配以bestway/开头的请求,判断是否符合以bestway/patient/开头的匹配规则

四、$uri 指的是请求的路径,不包含”?”或者”#”之类的东西(www.cnblogs.com/wangyaobk)

         $request_uri 则指的是请求的整个字符串(www.cnblogs.com/wangyaobk?id=1)

location ^~ /bestway/ {
if ($request_uri ~ ^/bestway/patient/.*$) {
proxy_pass http://10.25.193.211:7777/$request_uri;
}
}

 
     
 
posted @ 2017-11-30 15:33  wanglittlehandsome  阅读(371)  评论(0)    收藏  举报