在用set实现多条件判断时,遇到个赋值的疑问。
location / { set $flag "0"; if ($http_user_agent !~* "MetaSr") { set $flag "${flag}1"; } if ($uri !~* "/api/login") { set $flag "${flag}2"; } if ($flag = "01") { rewrite ^(.*)$ http://www.a.com/$1; } if ($flag = "02") { rewrite ^(.*)$ http://www.b.com/$2; } }
set $flag “${flag}1”; 本以为这个${flag}是个什么数据类型,去nginx官网也没找到,最后看人家写的判断后发现,就是个普通的字符串拼接。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4804.html