• nginx中location的常用规则


    一 语法规则

    语法规则: location [=|~|~*|^~] /uri/ { … }
    = 开头表示精确匹配
    ^~ 开头表示uri以某个常规字符串开头,不是正则匹配。#^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
    ^~ /test/
    ~ 开头表示区分大小写的正则匹配
    ~ //
    ~*  开头表示不区分大小写的正则匹配
    !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
    / 通用匹配,任何请求都会匹配到。
    /test          test2323
    /test/
    @     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files如 error_page, try_files
    多个location配置的情况下匹配顺序为:  
    首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
    "@"不能通过外部输入的url匹配
    ~ 这个指正则匹配
    
    

    二 举例

    1
    location = / {精确匹配,必须是127.0.0.1/
    #规则A
    }
    location = /login {精确匹配,必须是127.0.0.1/login
    #规则B
    }
    location ^~ /static/ {非精确匹配,并且不区分大小写,比如127.0.0.1/static/js.
    #规则C
    }
    location ~ .(gif|jpg|png|js|css)$ {区分大小写,以gif,jpg,js结尾
    #规则D
    }
    location ~* .png$ {不区分大小写,匹配.png结尾的
    #规则E
    }
    location !~ .xhtml$ {区分大小写,匹配不已.xhtml结尾的
    #规则F
    }
    location !~* .xhtml$ {
    #规则G
    }
    location / {什么都可以
    #规则H
    }
    
    
  • 相关阅读:
    Windows 系统共享文件扫描
    工业以太网EtherNet/IP协议安全分析整理
    说说搜索,你觉得自己的信息有多安全
    java网络编程
    攻击WordPress和其他程序
    ZenMap扫描笔记
    WireShark Wifi认证数据包分析(论文idea)
    linux 基础知识(三)
    unity 3D 学习笔记
    WPA-PSK无线网络密码破解原理
  • 原文地址:https://www.cnblogs.com/huningfei/p/12971845.html
Copyright © 2020-2023  润新知