Nginx路由匹配规则location的小总结

使用过nginx的同学都知道 , 在nginx配置文件中通过location配置路由转发规则,配置语法为:
location[=|~|~*|^~]/uri/{…}
中括号中为路由匹配符号 , 常见的有:
1=:精确匹配2^~:精确前缀匹配3~:区分大小写的正则匹配4~*:不区分大小写的正则匹配5/uri:普通前缀匹配6/:通用匹配精确匹配
精确匹配使用 = 表示,nginx进行路由匹配的时候,精确匹配具有最高的优先级,请求一旦精确匹配成功nginx会停止搜索其他到匹配项
配置实例location = /test {…}精确前缀匹配
精确前缀匹配的优先级仅次于精确匹配,nginx对一个请求精确前缀匹配成功后,停止继续搜索其他到匹配项
【Nginx路由匹配规则location的小总结】配置实例location ^~ /test_a {…}正则匹配
正则匹配分为区分大小写和不区分大小写两种,分别用 ~ 和 ~* 表示;一个请求精确匹配和精确前缀匹配都失败后,如果配置有相关的正则匹配location,nginx会尝试对该请求进行正则匹配 。需要说明的是正则匹配之间没有优先级一说,而是按照在配置文件中出现的顺序进行匹配,一旦匹配上一个 , 就会停止向下继续搜索
配置实例# 配置1location ~ /test_a {…}# 配置2location ~* /test_A {…}
对于请求 /test_a/hello 来说会被匹配到 配置1 处理,/test_A/hello 则会被匹配给 配置2 处理
普通前缀匹配
普通前缀匹配前面没有任何修饰符,直接在location后写需要匹配的uri,它的优先级次于正则匹配
配置实例location /img {…}通用匹配
通用匹配使用一个 / 表示,可以匹配所有请求,一般nginx配置文件最后都会有一个通用匹配规则,当其他匹配规则均失效时,请求会被路由给通用匹配规则处理;如果没有配置通用匹配,并且其他所有匹配规则均失效时 , nginx会返回 404 错误
配置实例location / {…}引用一个完整例子
nginx路由规则配置:
location = / {echo &
以上就是朝夕生活(www.30zx.com)关于“Nginx路由匹配规则location的小总结”的详细内容,希望对大家有所帮助!

猜你喜欢