Nginx中if语句中的判断条件
Posted ppjj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Nginx中if语句中的判断条件的主要内容,如果未能解决你的问题,请参考以下文章