05-Nginx中正则表达式的说明

来源:互联网 发布:安捷伦34401a 编程 编辑:程序博客网 时间:2024/05/29 16:42
  1. ~* 前缀选择不区分大小写的匹配
  2. ~ 选择区分大小写的匹配
  3. ^~不测试正则表达式
    *匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。

    location ^~ /images/ {}
  4. = 前缀的指令严格匹配这个查询。

    • 只匹配 / 查询
    location = / {}
  5. $表示以什么结尾

    location ~* \.(gif|jpg|jpeg)$ {
    匹配任何已 gif、jpg 或 jpeg 结尾的请求。然而所有 /images/ 目录的请求将使用 Configuration C。
    [ configuration D ]
    }

例子:

location = / {
只匹配 / 查询。
[ configuration A ]
}

location / {
匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
[ configuration B ]
}

location ^~ /images/ {
匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
[ configuration C ]
}

location ~* .(gif|jpg|jpeg)$ {
匹配任何已 gif、jpg 或 jpeg 结尾的请求。然而所有 /images/ 目录的请求将使用 Configuration C。
[ configuration D ]
}

例子请求:

/ -> configuration A

/documents/document.html -> configuration B

/images/1.gif -> configuration C

/documents/1.jpg -> configuration D

注意:按任意顺序定义这4个配置结果将仍然一样。