nginx的location配置详解

location中的配置就是一个个不同的规则
按照一定的匹配顺序,访问Nginx的请求,满足哪个规则则会执行其中的相关命令

匹配顺序

= ➡️ ^~ ➡️ 其他规则 ➡️ /

语法规则

location [=||*|^~] /url { ... }

  • / 开头的表示通用匹配符,任何请求都会匹配到
location / {
    #rule
}

所有没有匹配到其他规则的,都会匹配该规则

  • = 开头表示精确匹配
location = /login {
    #rule
}

如下请求将匹配该规则

http://localhost/login
  • ^~ 开头表示uri以某个字符串开头匹配
location ^~ /login {
    #rule
}

如下请求将匹配该规则

http://localhost/login/status
  • ~ 开头表示区分大小写的正则匹配
  • ~* 开头表示不区分大小写的正则匹配
  • ! 开头表示不匹配
    • !~ 区分大小写 不匹配
    • !~* 不区分大小写不匹配
location !~* /Login {
    #rule
}

如下请求将不会匹配该规则

http://localhost/login

你可能感兴趣的:(nginx的location配置详解)