侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

nginx location 匹配规则,及先后顺序

2023-11-10 星期五 / 0 评论 / 0 点赞 / 38 阅读 / 2271 字

语法规则:location [=|~|~*|^~] /uri/ { … } =开头表示精确匹配 ^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~*  开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

例子,有如下匹配规则:

 

[plain] view plain copy

  1. location = / {  
  2.    #规则A  
  3. }  
  4. location = /login {  
  5.    #规则B  
  6. }  
  7. location ^~ /static/ {  
  8.    #规则C  
  9. }  
  10. location ~ /.(gif|jpg|png|js|css)$ {  
  11.    #规则D  
  12. }  
  13. location ~* /.png$ {  
  14.    #规则E  
  15. }  
  16. location !~ /.xhtml$ {  
  17.    #规则F  
  18. }  
  19. location !~* /.xhtml$ {  
  20.    #规则G  
  21. }  
  22. location / {  
  23.    #规则H  
  24. }  

 

参考链接:http://blog.csdn.net/hellochenlian/article/details/44655547

广告 广告

评论区