nginx 移動端和pc端自動跳轉

場景

域名 描述
pc端 www.one.com 用于pc端訪問官網
移動端 m.one.com 用于移動端訪問

現在的需求是這樣,在pc端訪問www.one.comm.one.com都跳轉到www.one.com
而在移動端訪問www.one.comm.one.com都跳轉到m.one.com

參考,github上的這篇文章很詳細,但是比較復雜,很多場景我們用不到,所以參考這個,我修改如下。

pc端:www.one.com

  server {
      listen       80;
      server_name  www.one.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    # 下面根據user_agent可以獲取
     if ($http_host !~ "^www.one.cn$") {
      rewrite  ^(.*)    http://www.one.cn$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.one.com$1 permanent;
     }
    location / {
            root     /home/build/rampage-home-front/dist/html;
            index  index.html index.htm;
     }

}

作用部分代碼如下:

 if ($http_host !~ "^www.one.cn$") {
  rewrite  ^(.*)    http://www.one.cn$1 permanent;
 }
 if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
  rewrite  ^(.*)    http://m.one.com$1 permanent;
 }

移動端:m.one.com

  server {
      listen       80;
      server_name  m.one.cn;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    #非移動端跳轉到 www.one.com
     if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.one.com$1 permanent;
     }

    location / {
        root     /home/build/rampage-mobile-front/dist;
        index  index.html index.htm;
      }
}

作用部分代碼如下:

 if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
  rewrite  ^(.*)    http://www.one.com$1 permanent;
 }

至此完成了相關配置

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容