nginx中如何实现if/else语法 - 陌路人博客

nginx中如何实现if/else语法-陌路人博客-第1张图片陌路人

陌路人博客(blog.imlr.cn)
用心传递快乐,初心不变。

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;
        }
    }
}

以上代码等效于:

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
}


×

感谢您的支持,我们会一直保持!

nginx中如何实现if/else语法-陌路人博客- 第3张图片
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:陌路人博客 » nginx中如何实现if/else语法
标签: 教程 代码

发表评论

表情

网友评论(0)