Linux · 05/24/2019 2

nginx中location的使用

  • location匹配的内容即为ngnix中的$request_uri变量。
  • location有且仅匹配一条

location匹配优先级

匹配规则种类:

  • = 表示精确匹配
  • ^~ 注意这不是一个正则表达式–它的目的是优于正则表达式的匹配;如果该location是最佳匹配,则不再进行正则表达式检测。
  • ~ 表示区分大小写的正则匹配;
  • ~* 表示不区分大小写的正则匹配
  • !~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
  • /  绝对路径根目录匹配, 如果没有其它匹配,任何请求都会匹配到
  • /uri/ 字符串匹配

优先级:

(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)

Eg:访问https://blog.tuine.me/api/search?

#优先匹配
location =/api/search {}
#继匹配
location /api/search {}
#继匹配
location ^~/api/search {}
#继匹配
location ~/api/search {}
#继匹配
location /api {}
#继匹配
location / {}