location

匹配标识

匹配标识
说明

=

精确匹配

~

区分大小写

~*

不区分大小写

!~

对~取反

!~*

对~*取反

^~

字符串匹配不做正则表达式检查

URI及特殊字符组合匹配顺序

优先级
示例
匹配说明

1

location = / {

精确匹配 /

2

location ^~ /images/ {

匹配常规字符串,不做正则匹配检查

3

location ~* \.(gif|jpg|png)$ {

正则匹配

4

location /documents/ {

匹配常规字符串,如果有正则则优先匹配正则

5

location / {

所有location都不能匹配后的默认匹配

测试

# 可在server中添加如下代码进行测试

    location / {
        return 400;
    }

    location = / {
        return 401;
    }

    location ^~ /images/ {
        return 402;
    }

    location ~ \.(gif|jpg|png)$ {
        return 403;
    }

    location /documents/ {
        return 404;
    }

企业应用实例

匹配静态扩展名,然后把请求发给静态服务器,实现动静分离

Last updated