当前位置:   article > 正文

二、nginx访问路径[location]_nginx location获取路径

nginx location获取路径

一、location

实例:

server {
        listen 80;
        server_name localhost;
        location /abc {
                alias /var/www/html;
                index index.html;
        }
}
# 当http://localhost:80/abc发来请求时,被上面的内容捕获掉进行返回
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

下面将会说location的匹配用户发来url的匹配方法

1.无修饰符

解释:如下面的代码(访问)http://localhost:80/abchttp://localhost:80/abc1548返回的都是403错误

        location /abc {
                return 403;
        }
  • 1
  • 2
  • 3

2.=修饰符

解释:=为精确匹配的修饰符,也就是说下面的例子只能http://localhost:80/abc,不能http://localhost:80/abc1548

        location = /abc {
                return 403;
        }
  • 1
  • 2
  • 3

3. ~修饰符

解释:其会匹配对应的正则表达式,区别大小写,如下例子,能匹配http://localhost:80/abc1http://localhost:80/abc151515http://localhost:80/abc15154844等等,但是不能匹配http://localhost:80/aBc12 #因为大小写

        location ~ ^/abc[0-9]+$ {
                return 403;
        }
  • 1
  • 2
  • 3

4.~*修饰符

解释:与~修饰符唯一区别就是其不区分大小写,http://localhost:80/aBc12 #也可以

        location ~ ^/abc[0-9]+$ {
                return 403;
        }
  • 1
  • 2
  • 3

5^~修饰符

解释:其跟上面几个有点不同,用于不包含正则表达式的 URI 前,唯一不同的是,如果模式匹配,那么就停止搜索其他模式了

如下例(比如访问:http://localhost:80/abc根据正常优先级下面比上面的高,所以匹配到的是405):

        location /abc {
                return 403;
        }
        location ~^/ab[a-z]$ {
                return 405;
        }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如下例(比如访问:http://localhost:80/abc因为^~的存在,所以在匹配到其之后(如果没有其它^~)不再进行向下寻找匹配到的是403):

        location ^~ /abc {
                return 403;
        }
        location ~^/ab[a-z]$ {
                return 405;
        }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/254437
推荐阅读
相关标签
  

闽ICP备14008679号