看了这节课,不知道下面这段配置该如何解释了?
location / {
access_log /usr/work/tool/log/webserver/os-app-api.log main;
set $flag 0;
if ( $host = "taohui.com" ) {
set $flag "${flag}1";
}
if ( $uri != "/pc/index") {
set $flag "${flag}2";
}
if ( $uri != "/") {
set $flag "${flag}3";
}
if ( $flag = "0123") {
rewrite "^/(.*)$" https://www.baidu.com permanent;
}
if ( $uri = "/d") {
set $flag "${flag}5";
}
if ( $flag = "015") {
rewrite "^/(.*)$" https://www.google.com;
}
}
展开
作者回复: 这段指令是排他性的,也就是非此即彼的,它只是在改flag变量,所以没有关系。这节课其实告诉你:多个if间是无法协作的。比如,第1个if产生结果A,第2个产生结果B,那么A、B无法共存