亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

【轉】Nginx區分PC或手機訪問不同網站

2024-08-30 12:27:33
字體:
來源:轉載
供稿:網友
【轉】Nginx區分PC或手機訪問不同網站 Posted on 2015-06-22 21:14 龍翔天下 閱讀(...) 評論(...) 編輯 收藏

原文鏈接:http://www.nginx.cn/784.html

近幾年來,隨著手機和pad的普及,越來越多的用戶選擇使用移動客戶端訪問網站,而為了獲取更好的用戶體驗,就需要針對不同的設備顯示出最合適的匹配,這樣就是近年來流行的“響應式web設計”。

響應式web設計是一種純前端技術js、CSS等實現的針對不同設備訪問同一網址看到不同的布局,是頁面內容更適合當前設備閱讀。但這個不是本文的重點,重點還是放在nginx如何實現上來。

本文要講的的是如何使用nginx區分pc和手機訪問不同的網站,是物理上完全隔離的兩套網站(一套移動端、一套pc端),這樣帶來的好處pc端和移動端的內容可以不一樣,移動版網站不需要包含特別多的內容,只要包含必要的文字和較小的圖片,這樣會更節省流量。有好處當然也就會增加困難,難題就是你需要維護兩套環境,并且需要自動識別出來用戶的物理設備并跳轉到相應的網站,當判斷錯誤時用戶可以自己手動切換回正確的網站。

下面以264查詢網為實例來說明如何實現上面的需求。 明確的的需求: 1.制作兩個站點PC端網站www.264.cn,和移動端網站m.264.cn 2.使用pc或移動設備訪問任何一個域名都會跳到相應的站點。 3.用戶可以選擇訪問移動版還是PC版網站,移動版網站始終有切換到PC版的鏈接,PC版當網站通過手機訪問時會提供移動版網站的鏈接。 4.當用戶選著訪問其中一種類型的網站后,保存設置結果生效時間為24小時,當然長短可以自己設置。 簡單的服務器端實現方法 有兩套網站代碼,一套PC版放在/usr/local/website/web,一套移動版放在/usr/local/website/mobile。只需要修改nginx的配置文件件,nginx通過UA來判斷是否來自移動端訪問,實現不同的客戶端訪問不同內容。 這種方法的缺點是移動端和PC端用同一個域名,存在黑帽的嫌疑,而且UA并不是總是判斷的準確,如果判斷錯誤的情況下,用戶不能手動修改訪問的網站類型。 關鍵的Nginx配置如下:

location/{#默認PC端訪問內容root/usr/local/website/web;#如果是手機移動端訪問內容if($http_user_agent~"(MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC/-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT/-)|(SonyEricsson)|(NEC/-)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi/-)|(Capitel)|(PHILipS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG/-)|(LG/)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC/-)|(SED/-)|(EMOL/-)|(INNO55)|(ZTE)|(iPhone)|(Android)|(WindowsCE)|(Wget)|(java)|(curl)|(Opera)"){root/usr/local/website/mobile;}indexindex.htmlindex.htm;}

純客戶端js實現方式 下面這段代碼放到首頁<head>和</head>之間即可

<scripttype="text/Javascript">//<![CDATA[if(/AppleWebKit.*Mobile/i.test(navigator.userAgent)||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){//觸屏手機版地址window.location.}}catch(e){}}}//]]></script>

推薦的nginx區別手機和PC訪問方法 利用前端js和后端nginx配合,js通過設置cookie來設定當前訪問哪頁面。

增加設置cookie的js代碼,這段代碼需要在移動網站和PC網站的所有頁面都要放置。

functioncreateCookie(name,value,days,domain,path){varexpires='';if(days){vard=newDate();d.setTime(d.getTime()+(days*24*60*60*1000));expires=';expires='+d.toGMTString();}domain=domain?';domain='+domain:'';path=';path='+(path?path:'/');document.cookie=name+'='+value+expires+path+domain;}functionreadCookie(name){varn=name+'=';varcookies=document.cookie.split(';');for(vari=0;i<cookies.length;i++){varc=cookies[i].replace(/^/s+/,'');if(c.indexOf(n)==0){returnc.substring(n.length);}}returnnull;}functioneraseCookie(name,domain,path){setCookie(name,'',-1,domain,path);}

nginx增加如下配置,根據UA和cookie判斷當前是移動端還是PC端訪問

if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {  set $mobile_request '1';}if ($http_cookie ~ 'mobile_request=full') {  set $mobile_request '';}if ($mobile_request = '1') {  rewrite ^.+ http://m.264.cn$uri;}

移動版頁面添加PC版鏈接 默認用戶進來時會先判斷UA,如果是手機端訪問就會進入手機版,但也會存在誤判進入手機版或者需要更多信息進入PC版,那么就需要在移動版的頁面放入代碼,讓用戶可以從移動版切換到web版并且下次訪問會保留設置。

<aonclick="setCookie('iphone_mode','full',1,'264.cn')">電腦版</a>

如果用戶訪問不正確時,點擊電腦版鏈接就可以進入PC版網站,并且24小時內再次訪問會記憶上次訪問的網站類型設置。

PC版網站增加訪問手機版的鏈接 在PC版的網站適當的地方加入下面的鏈接讓用戶可以切換到手機版的網站。

<aonclick="deleteCookie('mobile_mode','264.cn');">手機版</a>

完整的nginx端配置,當然是去掉了與本文功能無關的配置,并不是一個完可用的配置,只是給大家一個整體的框架。

PC版網站配置

upstreamapp_server{server0.0.0.0:9001;}server{listen80;server_namewww.264.cn;root/path/to/main_site;#...location/{PRoxy_set_headerX-Real-IP$remote_addr;#...if($http_user_agent~*'(Android|webOS|iPhone|iPod|BlackBerry)'){set$mobile_request'1';}if($http_cookie~'mobile_request=full'){set$mobile_request'';}if($mobile_request='1'){rewrite^.+http://m.264.cn$uri;}#servecachedpages...if(!-f$request_filename){proxy_passhttp://app_server;break;}}}

手機移動版配置

upstreamm_app_server{server0.0.0.0:9001;}server{listen80;server_namem.264.cn;root/path/to/mobile_site;#...location/{proxy_set_headerX-Real-IP$remote_addr;#...if($http_user_agent~*'(Android|webOS|iPhone|iPod|BlackBerry)'){set$mobile_request'1';}if($http_cookie~'mobile_request=full'){set$mobile_request'';}if($mobile_request!='1'){rewrite^.+http://www.264.cn$uri;}#servecachedpages...if(!-f$request_filename){proxy_passhttp://m_app_server;break;}}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久久中文字幕| 国产成人jvid在线播放| 精品久久香蕉国产线看观看亚洲| 色悠悠国产精品| 欧美日韩国产中文精品字幕自在自线| 中文字幕精品久久| 久久99精品久久久久久琪琪| 国产亚洲视频在线| 中文字幕av一区二区三区谷原希美| 亚洲黄色www网站| 亚洲精品一区中文字幕乱码| 亚洲欧美另类自拍| 欧美午夜视频一区二区| 日韩欧美中文字幕在线观看| 色综合天天狠天天透天天伊人| 久久久综合免费视频| 成人在线小视频| 欧美视频精品一区| 清纯唯美亚洲激情| 久久精品一偷一偷国产| 日韩欧美国产中文字幕| 欧美电影在线观看完整版| 久久99国产精品久久久久久久久| 欧美诱惑福利视频| 国产精品香蕉av| 在线播放国产一区二区三区| 2021久久精品国产99国产精品| 亚洲深夜福利在线| 亚洲第一页自拍| 日韩av片免费在线观看| 欧美日韩一区免费| 午夜精品视频网站| 国产精品尤物福利片在线观看| 日韩精品极品视频免费观看| 国产精品久久久久久久7电影| 亚洲人高潮女人毛茸茸| 亚洲精品一区二区三区婷婷月| 性色av一区二区三区| 亚洲电影免费观看高清完整版在线观看| 国产激情久久久| 91久久久久久久一区二区| 亚洲一区二区自拍| 亚洲一级黄色片| 亚洲国产精品成人精品| 国产精品福利网站| 亚洲精选在线观看| 亚洲在线观看视频| 中文字幕精品一区二区精品| 日韩中文字幕在线免费观看| www.久久久久久.com| 亚洲精品www久久久久久广东| 亚洲高清久久网| 日韩av一区二区在线| 欧美日韩色婷婷| 日韩精品在线私人| 亚洲精品日韩久久久| 日韩有码在线视频| 欧美国产激情18| 欧美人与物videos| 日韩精品中文字幕在线播放| 色婷婷**av毛片一区| 精品动漫一区二区| 亚洲人精品午夜在线观看| 热久久免费视频精品| 中文字幕自拍vr一区二区三区| 美乳少妇欧美精品| 97久久精品人人澡人人爽缅北| 91九色国产社区在线观看| 亚洲欧美999| 成人国产精品久久久久久亚洲| 日本午夜精品理论片a级appf发布| 国外视频精品毛片| 日韩成人在线播放| 另类专区欧美制服同性| 狠狠久久五月精品中文字幕| 精品人伦一区二区三区蜜桃免费| 欧美性猛交xxxx免费看久久久| 国产亚洲精品久久久久久牛牛| 亚洲aⅴ男人的天堂在线观看| 亚洲精品国精品久久99热| 亚洲欧美成人一区二区在线电影| 日韩网站在线观看| 黄色91在线观看| 影音先锋欧美精品| 91成人国产在线观看| 久久夜色精品国产亚洲aⅴ| 久久久黄色av| 久久久成人精品| 国产亚洲精品综合一区91| 欧美另类69精品久久久久9999| 国产精品午夜国产小视频| 性欧美在线看片a免费观看| 精品国产一区二区三区久久狼黑人| 欧美日韩国产中字| 成人性生交大片免费观看嘿嘿视频| 久久九九有精品国产23| 欧美激情xxxxx| 亚洲另类图片色| 青青草国产精品一区二区| 色综合久久天天综线观看| www.日本久久久久com.| 97视频免费在线观看| 日韩美女写真福利在线观看| 成人激情视频在线播放| 亚洲精品福利资源站| 免费不卡欧美自拍视频| 91禁国产网站| 欧美日韩国产第一页| 欧美在线一级va免费观看| 国模叶桐国产精品一区| 色与欲影视天天看综合网| 一级做a爰片久久毛片美女图片| 日韩美女福利视频| 日韩成人激情在线| 精品激情国产视频| 久久精品99国产精品酒店日本| 久久国产精品影片| 欧美老少做受xxxx高潮| 97超级碰碰碰久久久| 一本色道久久综合亚洲精品小说| 92版电视剧仙鹤神针在线观看| 亚洲一区亚洲二区| 8090理伦午夜在线电影| 欧美高清电影在线看| 91国内精品久久| 欧美在线视频导航| 亚洲精品自在久久| 中文字幕久久亚洲| 欧美激情网友自拍| 国产精品精品视频| 亚洲天堂av在线播放| 欧美中文字幕视频在线观看| 久久久影视精品| 国产精品久久久久久久久久久久| 亚洲性视频网址| 成人免费看黄网站| 亚洲欧美日韩国产精品| 91tv亚洲精品香蕉国产一区7ujn| 亚洲a级在线观看| 国产精品99久久99久久久二8| 日本在线观看天堂男亚洲| 久久久精品国产一区二区| 欧美色视频日本版| 中国人与牲禽动交精品| 中文字幕亚洲自拍| 国产这里只有精品| www国产精品com| 成人黄色影片在线| 国产日韩欧美影视| 久久久成人的性感天堂| 色狠狠av一区二区三区香蕉蜜桃| 国产成人a亚洲精品| 日产精品久久久一区二区福利| 久久久久久久久久久国产| 欧美巨猛xxxx猛交黑人97人| 久久夜色精品国产欧美乱| 国产日韩在线视频| 国产视频在线观看一区二区| 日韩亚洲第一页| 久久91亚洲人成电影网站| 韩曰欧美视频免费观看| 日韩精品视频中文在线观看| 欧美日韩国产综合视频在线观看中文| 国产精品免费一区|