码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx中if语句中的判断条件

时间:2020-06-21 18:11:04      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:oca   VID   turn   scheme   https   bsp   正则表达   doc   get   

一、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

Nginx中if语句中的判断条件

标签:oca   VID   turn   scheme   https   bsp   正则表达   doc   get   

原文地址:https://www.cnblogs.com/nizuimeiabc1/p/13173215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!