zoukankan      html  css  js  c++  java
  • Nginx中if语句中的判断条件

    一、if语句中的判断条件(nginx)

    1、正则表达式匹配:

    ==:等值比较;

    ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写;

    ~*:与指定正则表达式模式匹配时返回“真”,判断匹配与否时不区分字符大小写;

    !~:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时区分字符大小写;

    !~*:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时不区分字符大小写;

    2、文件及目录匹配判断:

    -f, !-f:判断指定的路径是否为存在且为文件;

    -d, !-d:判断指定的路径是否为存在且为目录;

    -e, !-e:判断指定的路径是否存在,文件或目录均可;

    -x, !-x:判断指定路径的文件是否存在且可执行;

     3、部分正则表达式可以在圆括号内"()",其值可以通过后面的变量$1到$9来访问:

    rewrite ^/b/(.*).html /play.php?video=$1 last;#其中$1就表示引用前面匹配的(.*)里面的内容。

    server {

    listen       80;
    server_name  test.enjoy.com;

    #set $flag 0;
    ##if ($flag = 0) {
    #    return 501;
    #}

    #客户端请求的完整请求路径
    #if ( $request_uri ~* /(.*).php ) {                                        
    #    return 502;
    #}

    if (!-f $request_filename) {
            return 414;
    }

    #禁止chrome访问
    #if ($http_user_agent ~ Chrome) {
    #        return 503;
    #}

    location /loct {
        return 401;
    }
    location / {
        #if
        root html;
        index index.html;
    }

    }

    可使用的全局变量:

    - $args
    - $content_length
    - $content_type
    - $document_root
    - $document_uri
    - $host
    - $http_user_agent
    - $http_cookie
    - $limit_rate
    - $request_body_file
    - $request_method
    - $remote_addr
    - $remote_port
    - $remote_user
    - $request_filename
    - $request_uri
    - $query_string
    - $scheme
    - $server_protocol
    - $server_addr
    - $server_name
    - $server_port
    - $uri

    参考链接:https://blog.csdn.net/pf1234321/article/details/83072550

    https://blog.csdn.net/qq_32642039/article/details/76785352

  • 相关阅读:
    JPA与Hibernate的关系
    EJB里的问题解答
    EJB与JPA的关系
    EJB的魅惑来源
    EJB简介
    MyEclipse如何恢复删掉的文件
    EasyUI的功能树之扁平化
    EasyUI的功能树之异步树
    Spring AOP的日志记录
    简单理解IoC与DI
  • 原文地址:https://www.cnblogs.com/nizuimeiabc1/p/13173215.html
Copyright © 2011-2022 走看看