nginx 判斷移動端或者PC端 進入不同域名


  自己最近用node.js + react 做了個網站。在PC端上的訪問是這樣的:

  

  手機訪問居然是這樣的: 

  

 

    這樣用戶體驗很不好。 所以做了一個移動端的版本。

    需求: 需要判斷用戶是否手機還是電腦 訪問網站,從而進入不同的版本。

    解決方案:

      1. 解析 xxx.com 域名到pc版。

      2. 解析m.xxx.com 域名到 移動版。

      3.通過nginx 判斷用戶 是移動端訪問還是PC端 從而進入不同的域名

實現:

server {
        listen 80;
        server_name xxx.com;
        

        location / {
                proxy_pass http://localhost:3000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                if ($http_user_agent ~* "(mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)") {   //判斷是否為移動設備訪問
                rewrite  ^/(.*)$  http://m.xxx.com$uri redirect;    // 跳轉到m.xxx.com
                }
        }
}
               

  

這樣,通過手機訪問就自動進入了m.xxx.com;

ps:應該這樣可能還會有點bug。還在測試中, 之后陸續更新。如有發現有bug的,歡迎留言指出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM