nginx location规则优先级测试

简介:

基本语法

1

location [=|~|~*|^~|@] /uri/ { … }

=〗表示精确匹配,如果找到,立即停止搜索并立即处理此请求。
〗 表示区分大小写匹配
~*〗 表示不区分大小写匹配
^~ 〗 表示只匹配字符串,不查询正则表达式。
@〗 指定一个命名的location,一般只用于内部重定向请求。

 

 

 

先来测试下区分大小写和不区分大小写的优先级

 

 

 

测试结果为

http://192.168.1.164/2a.txt ------------501

http://192.168.1.164/2A.txt------------504

 

将顺序反下,将~*放前面

 

 

 

结果

http://192.168.1.164/2a.txt ----------501

http://192.168.1.164/2A.txt ----------501

 

结论: 去分和不区分大小写的正则匹配优先级相同,以先后顺序来决定匹配哪一个.

 

 

再来比较=~的优先级

 

 

 

结果

http://192.168.1.164/2a.txt -------------502

结论: =的优先级比~

 

再来比较下 ^~  ~的优先级

 

 

结果

http://192.168.1.164/2a.txt  --------------504

 

结论

^~的优先级比~

 

 

再测试 ^~  = 的优先级

 

 

 

结果

http://192.168.1.164/2a.txt  --------------504

 

结论       =的优先级比 ^~

 

再来测试^~同级之间的优先级

 

 

结果

http://192.168.1.164/2a.txt  --------------504

结论  ^~优先匹配的是从根开始的匹配

 

再来看什么都不加与~的优先级比较

 

 

结果

http://192.168.1.164/2a.txt  --------------504

结论       不加的优先级比~

 

优先级排序为

不加 <   ~/~*   <    ^~   <    =

 

~*~正则匹配的优先级按先后次序来决定的

^~同级之间的匹配是按照根目录顺序来的



      本文转自hb_fukua  51CTO博客,原文链接:http://blog.51cto.com/2804976/982870,如需转载请自行联系原作者




相关文章
|
开发框架 .NET 应用服务中间件
LNMP详解(六)——Nginx location语法详解
LNMP详解(六)——Nginx location语法详解
191 1
|
负载均衡 应用服务中间件 nginx
nginx-tomcat反向代理以及负载均衡测试
nginx-tomcat反向代理以及负载均衡测试
214 0
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
1700 2
|
应用服务中间件 nginx
Nginx Location 深入剖析及动静分离简易配置
Nginx Location 深入剖析及动静分离简易配置
245 3
|
存储 缓存 前端开发
理清 nginx 中的 location 配置
理清 nginx 中的 location 配置
|
应用服务中间件 nginx
nginx location指令详解
nginx location指令详解
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
4123 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
搜索推荐 Java 应用服务中间件
Nginx Rewrite 规则
【8月更文挑战第21天】Nginx Rewrite 规则
267 2
|
缓存 前端开发 应用服务中间件
Nginx:location配置模块的用法(二)
Nginx:location配置模块的用法(二)
1305 2