使用相同的URL提供不同的页面

时间:2016-09-19 07:54:46

标签: url nginx server seo

我有两个HTML页面。 a.html是我网站的移动版本,b.html是桌面版本。如何将这两个页面设置为使用相同的URL?

1 个答案:

答案 0 :(得分:0)

这很简单,我已经实现了这一点。您可以查看wittyfeed.com,它为移动和桌面提供不同的文件。

可以按照以下方式完成,

http {
   ....
   map $http_user_agent $ind {
       "~*mobile" a.html;
       default b.html;
   }


   server {
       ...
       index $ind;
       ...
       location / {
           try_files $uri $uri/ $ind;
       }
   }
}

以上代码运行,它为变量$ ind设置值,如果请求来自mobile或b.html则为a.html。然后,相应地它尝试获取文件。 :)

编辑w.r.t.以下评论,*未经测试,

http {
   ...
   map $http_user_agent $proxy_addr {
      "~*mobile" test-qa.firebaseapp.com/mobile;
      default  localhost:8080/test/jsp/index.jsp;
   }

   server {
      ...
      location /test {
         proxy_pass $proxy_addr;
      }
   }
}