使用nginx可以直接截獲客戶端請求,以下是最近收集的一些判斷截獲的資訊的配置,為檢視方便記錄如下:
1、根據UA和cookie判斷當前是移動端還是PC端訪問:
if ($http_host !~ "^www.weidao.com$") {
rewrite ^(.*) http://www.test.com$1 permanent;
}
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
rewrite ^(.*) http://m.test.com$1 permanent;
}
2、根據UA判斷手機的作業系統:
if ($http_user_agent ~* "Android") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "iPhone") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "iPod") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "iPad") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "Windows Phone") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "Mobile") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "Nokia") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "SAMSUNG") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "HTC") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "BlackBerry") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "LG") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "SonyEricsson") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "MOT") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "Opera Mini") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "J2ME") {
rewrite . http://m.baidu.com/ break;
}
if ($http_user_agent ~* "mqqbrowser") {
rewrite . http://m.baidu.com/ break;
}
3、NG直接截獲請求返回JSON:
location /api/Message/Confirm
{
default_type application/json;
return 200 '{"Data":true,"Code":1,"Message":null}';
}