Nginx的配置中不支持if条件的逻辑与&&逻辑或||运算 ,而且不支持if-else的嵌套语法,可以用变量的方式来间接实现
server {
listen 80;
server_name localhost;
location / {
set $flag "0";
#判断手机还是PC跳转
if ($http_user_agent ~* "(mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)") {
set $flag "${flag}1";
}
if ($flag = "0") {
proxy_pass http://127.0.0.1:2019;
}
if ($flag = "01") {
proxy_pass http://127.0.0.1:2020;
}
proxy_http_version 1.1;
}
}