我想使用不同的版本取决于浏览器版本和设备。例如,在"mobile /80+版本“中,我需要modern-bundle和较低版本的legacy-bundle。用于桌面的Bur现代版本低于移动版:"chrome/ 70 +版本“必须具有modern-bundle,且低于70- legacy-bundle。
我用两个映射尝试了这段代码,但是最后我总是使用legacy-bundle而不是modern-bundle,有什么问题吗?
map $http_user_request $is_mobile {
default false;
"~*Mobile" true;
}
map "$http_user_request:$is_mobile" $modern_browser {
default "";
"~Chrome\/([8-9][0-9]|\d{3,})\.:true" "modern-bundle";
"~Chrome\/([7-9][0-9]|\d{3,})\.:false" "modern-bundle";
}发布于 2022-10-31 08:14:15
我找到了我的问题的答案。只是需要再添加一个变量来映射
map $http_user_request $is_mobile {
default false;
"~Mobile" true;
}
map "$http_user_request:$is_mobile:$http_user_request" $modern_browser {
default "";
"~Chrome\/([8-9][0-9]|\d{3,})\..*:true:" "modern-bundle";
"~Chrome\/([7-9][0-9]|\d{3,})\..*:false:" "modern-bundle";
}https://stackoverflow.com/questions/74254807
复制相似问题