我有以下nginx配置:
if (condition1) {
set $var val1;
}
if (condition2) {
set $var val2;
}
我已经读过ifIsEvil,同时接受一个请求需要花费太多时间,因为条件中的正则表达式非常复杂。
我想通过map
来实现它,但无法想象如何以良好的方式编写它
答案 0 :(得分:2)
您应该使用map
map $http_user_agent $bundle {
default desktop;
~*android.+mobile touch;
~*bb\d+.+mobile touch;
~*fennec touch;
...
~*meego pda;
...
}
server {
# here you could use $bundle variable
...
}