Nginx Location 匹配设置

需求来源

由于需要区分不同类型的html页面,有的是静态页面,有的是动态生成的,因此需要location根据url的部分特征进行匹配

解决方案

nginx官方文档给出location语法如下:

location [=|~|~*|^~] uri { … }

使用说明

  • = 精确匹配;用于标准uri前,要求请求字符串和uri严格匹配。如果匹配成功,就停止匹配,立即执行该location里面的请求。
  • ~ 正则匹配;用于正则uri前,表示uri里面包含正则,并且区分大小写。
  • ~* 正则匹配;用于正则uri前,表示uri里面包含正则,不区分大小写。
  • ^~ 非正则匹配;用于标准uri前,nginx服务器匹配到前缀最多的uri后就结束,该模式匹配成功后,不会使用正则匹配。
  • 无 普通匹配(最长字符匹配);与location顺序无关,是按照匹配的长短来取匹配结果。若完全匹配,就停止匹配。

相关主题: