编程技术分享平台

网站首页 > 技术教程 正文

NGINX实现IF语句里的AND,OR多重判断

xnh888 2024-09-12 22:43:50 技术教程 30 ℃ 0 评论



NGINX实现IF语句里的AND,OR多重判断

  • nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现:
  • 具体方法为AND 就用变量叠加,OR就用0或1切换 * 首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:

if ($remote_addr ~ "/forum.php" && $query_string ~* "mod=ajax&action=downremoteimg&message=") { return 403; }

  • 这是等效的,并真实可用的配置

set $flag 0; if ($request_uri ~* "/forum.php"){ set $flag "${flag}1"; } if ($query_string ~* "mod=ajax&action=downremoteimg&message=" ){ set $flag "${flag}2"; } if ($flag = "012") { return 403; }

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表