自己最近用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的,歡迎留言指出