=表示精准匹配
~表示区分大小写
~*表示不区分大小写
^~表示以指定匹配模式开头的 URI 被匹配,不同的是,一旦匹配成功,那么 Nginx 就停止去寻找其他的 Location 块进行匹配了(与 Location 匹配顺序有关)
优先级
等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
常规字符串匹配类型。按前缀匹配。
重定向 proxy_pass
location ~* / {
proxy_pass http://192.168.1.23:8080/web/;
}
注意,根目录需要加/,否则会报重定向循环的错误
location ~* /admin {
proxy_pass http://192.168.1.23:8080/admin;
}
重写 rewrite
rewirte ^/(.*)$ http www.taobao.com/$1 permanent;
注意,$1与(.*)$对应,permanent表示301永久重定向,显示跳转后的地址
location ~ ^/best/ {
rewrite ^/best/(.*)$ /test/$1 break;
proxy_pass http://www.taobao.com;
}
break表示本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏URL地址不变