nginx中如何实现if/else语法

一直都知道nginx支持if语法,而且语法和平常的开发语言代码格式差不多:

# 需要注意的是:if条件判断语句是用一个等号进行相等判断  if ($flag = '1') {      return 404;  }

然而,今天需要在nginx中设置if/elseif条件过滤,却发现不支持else;

最后在网上找到到如下解决方案:

server {      server_name itlao5.com;      listen 80;            location / {          set $flag 0;          if ($host = v.itlao5.com) {              set $flag 1;          }                    if ($host = f.itlao5.com) {              set $flag 2;          }                if ($flag = 0) {        # 没有匹配到,跳转到默认页面              proxy_pass https://127.0.0.1:8000;          }          if ($flag = 1) {        # 匹配到条件1,跳转到8001端口              proxy_pass https://127.0.0.1:8001;          }      if ($flag = 2) {        # 匹配到条件2,跳转到8002端口              proxy_pass https://127.0.0.1:8002;          }      }  }

WEEX交易所已上线平台币 WEEX Token (WXT)。WXT 作为 WEEX 交易所生态系统的基石,主要用于激励 WEEX 交易平台社区的合作伙伴、贡献者、先驱和活跃成员。

新用户注册 WEEX 账户、参与交易挖矿及平台其他活动,均可免费获得 WXT 空投奖励。

点此注册 WEEX 账户,即刻领取 1,600 WXT 新用户专属空投

以上代码等效于:

if(host == v.itlao5.com) {    跳转https://127.0.0.1:8001  } else if(host == f.itlao5.com) {    跳转https://127.0.0.1:8002  } else {    跳转https://127.0.0.1:8000  }

本站资源均来源于网络或网友投稿,部分资源未经测试,难免存在BUG,所有资源只限于学习研究,不得商用。如使用本站下载的资源造成任何损失或发生侵权行为,均与本站无关。如不接受本声明请勿下载!本站资源如有侵权,请联系QQ:497149677核实后立即删除!
最客资源网 » nginx中如何实现if/else语法