nginx实现多重条件判断的方法
微wx笑 2020-04-30【网页网站】 9 0关键字: Nginx
Nginx配置文件中,可以使用 if 条件判断,但是 if 后面只支持一个条件,也不支持 if else 这样的用法,怎么实现多重条件判断呢?这就需要借助变量了。
Nginx配置文件中,可以使用 if 条件判断,但是 if 后面只支持一个条件,也不支持 if else 这样的用法,怎么实现多重条件判断呢?这就需要借助变量了。
举个票子:
比如要实现通过 ivu4e.com 和 www.ivu4e.com 访问本站时,强制HTTPS,其它域名访问时支持HTTP
set $flag 0; if ($host = 'iuv4e.com') { set $flag "1"; } if ($host = 'www.ivu4e.com'){ set $flag "1"; } if ($server_port !~ 443){ set $flag "${flag}1"; } if ($flag ="11"){ rewrite ^(/.*)$ https://$host$1 permanent; }
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/web/2020-04-30/420.html