跳转至

9. location匹配

8. location匹配

#1.介绍
nginx的location根据用户访问的url进行不同的处理

#2.location语法
location [=|~|~*|^~] url {
  # 做相应处理
}

匹配符   匹配规则                  优先级
=       精确匹配                    1
^~      以某个字符开头,不做正则处理    2
~*      支持正则匹配模式              3
/blog/  访问ip/blog/xxx             4
/       通用匹配,不符合其他规则时来这   5


#3. 实战演练
# 匹配图片
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
  expires 30d;      # 设置过期时间30天
}
# 判断:当请求url后缀是js、css类型时,进行浏览器缓存
location ~ .*\.(js|css)?$ {
  expires 1h; #设置过期时间
}


#4. 优先级演练
server {
  listen 83;
  server_name _;

  #1 最低级匹配,其他都不符合来这里
  location / {
    return 401;
  }

  #2 优先级最高
  location = / {
    return 402;
  }

  #3 /blog/开头的url来这里
  location /blog/ {
    return 403;
  }

  #4. 图片请求来这里
  location ~* \.(gif|jpg|jpeg)$ {
    return 500;
  }
}

# 浏览器访问测试
192.168.178.110:83/1        # 401
192.168.178.110:83/blog/    # 403
192.168.178.110:83/blog/erwe.jpg    # 500
192.168.178.110:83          # 402

最后更新: 2022-02-20 13:32:53