根据请求URI设置配置。
匹配是针对一个标准化的URI执行, 在对以“%XX”形式编码的文本进行解码
解析引用到相对的path组件
一个location 可以是由一个前缀字符定义,或者通过一个正则表达式。
正则表达式使用~*修饰符(用于不区分大小写)
或者 ~ 修饰符(用于区分大小写匹配)
为了找到给定请求的location 匹配
nginx 首选检查location 使用一个前缀字符串(prefix locations).
其中,选择最长匹配前置并记忆
然后 正则表达式 是被检查, 按照他们在配置文件中出现的顺序
正则表达式的搜索在第一个匹配后结束 ,然后相应的配置被使用
location blocks 可以被嵌套,但下面提到的一些例子例外:
对于不区分大小写的操作系统比如macOS和Cygwin,
与前缀字符匹配会忽略大小写
如果最长匹配前缀location 有"^~" 修饰符,则不检查表达式
另外,使用"=" 修饰符,它是可以定义一个精确的URI匹配
如果一个准备的匹配是被找到, 搜索结束
例如, if 一个"/" 请求频繁发生,定义 "location = /"
会加速那些请求的处理,因为搜索在第一个比较后立即终止
在0.7.1 到 0.8.41 版本中,如果一个请求匹配前缀 没有"="和"^~"修饰符,
搜索也会终止
让我们用一个例子来说明:
location = / {
[ configuration A ]
}
location / {
[ configuration B ]
}
location /documents/ {
[ configuration C ]
}
location ^~ /images/ {
[ confi
location
最新推荐文章于 2025-03-05 09:17:59 发布