【发布时间】:2020-11-15 03:52:11
【问题描述】:
在站点 http://detectmobilebrowsers.com/ 我得到 reg exp 以通过 $user_agent 检测移动浏览器
有一个代码:
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino") {
set $index_file mobile.html;
}
我如何在地图中使用这个 reg exp?像这样:
map $http_user_agent $index_file {
~* "regexp" /mobile.html;
default /desktop.html;
}
nginx 得到错误nginx: [emerg] invalid number of the map parameters in /etc/nginx/conf.d/prod.conf:2
reg exp 包含空格。如果我将 spages 替换为 \s,那么正则表达式将停止工作并且没有检测到电话。
【问题讨论】:
标签: regex nginx nginx-config