location简介

在没有使用正则表达式的时候, nginx会先在server中的多个location选取匹配度最高的一个uri, uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索类似ACL匹配规则,并使用此location处理请求

location匹配顺序

Nginx location匹配和错误页面跳转_正则

#匹配优先级:=, ^~, ~/~*,/

location优先级:(location =) > (location ^~ 路径) >

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

Location语法

Nginx location匹配和错误页面跳转_正则_02

location分类

  1. 精准匹配:location = / {…}
  2. 一般匹配:location / {…}
  3. 正则匹配:location ~ / {…}

一般匹配

Nginx location匹配和错误页面跳转_正则_03

Nginx location匹配和错误页面跳转_正则_04

精准匹配

Nginx location匹配和错误页面跳转_正则_05

Nginx location匹配和错误页面跳转_正则_06

错误页面定制

Nginx location匹配和错误页面跳转_正则_07

生产案例

#直接匹配网站根会加速Nginx访问处理
location = /index.html {
......;
}
location / {
......;
} #
静态资源配置方法1
location ^~ /static/ {
......;
} #
静态资源配置方法2,应用较多
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
......;
} #
多应用配置
location ~* /app1 {
......;
}
location ~* /app2 {
......;
}