首页 > 系统相关 >Nginx代理:通过同个域名同个端口分别在PC端和手机端访问不同的适配页面

Nginx代理:通过同个域名同个端口分别在PC端和手机端访问不同的适配页面

时间:2022-08-21 12:00:37浏览次数:133  
标签:缓存 mobile 适配 同个 PC 跳转 vary 页面

一、nginx配置

  1、传递请求头

  最终目的是要使用UserAgent头来识别用户的客户端,然后返回不同的内容给不同的UA用户。而CDN(内容分发网络)缓存并不会区分UA(UserAgent),只会区分URL(访问的地址),所以在访问同样的域名和端口时,缓存的内容是一样的。CDN支持对不同的UA来设置不同的缓存,根据vary头来控制,它的字段一般是头信息的字段。

  CDN监测vary头的信息,如果内容不一致就缓存不同的内容,如果头信息一致才会缓存覆盖。

  vary头需要在源站添加,即在nginx中配置代理时进行添加,配置语句如下:

add_header Vary "Accept-Encoding, User-Agent";

  2、根据头信息区分跳转

  已经携带了请求头,对头信息的终端类型进行判断即可,如果符合终端类型则跳转到手机页面,不符合则跳转到PC页面:

if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry|iPhone|Android))  {
      root /xxxxxx;
}

  3、整合如下

server {
      listen       80;
      server_name  www.xxxxxx.com;
      location / {
            add_header Vary "Accept-Encoding, User-Agent";
            #判断是否为手机端
            if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry|iPhone|Android))  {
                  root /mobile;
            }
            root /pc;
            index  index.html index.htm;  
      }   
}

  /mobile为手机端部署路径,/pc为pc端部署路径。

  

标签:缓存,mobile,适配,同个,PC,跳转,vary,页面
From: https://www.cnblogs.com/guobin-/p/16609735.html

相关文章

  • 适配器的应用(泛型模式)
    适配器模式是一种重要的设计模式,能让代码简练。直接上代码。定义接口,如下所示:publicinterfaceIOrderOperate<C,U,D>{/***创建单据*/boolea......
  • ASEMI整流桥GBPC5010W图片,50A方桥GBPC5010W
    编辑-ZASEMI整流桥GBPC5010W参数:型号:GBPC5010W最大重复峰值反向电压(VRRM):1000V最大RMS电桥输入电压(VRMS):700V最大直流阻断电压(VDC):1000V最大平均正向整流输出电流(IF):50A......
  • React--移动端适配
    适配原理选择某个手机的尺寸大小作为基准,其他手机进行等比例缩放一般选择iPhone6(2倍屏幕),屏幕宽度为:375px适配方式rem:需要手动修改html元素的font-s......
  • 适配器模式
    1.定义将一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法再一起工作的两个类能够再一起工作。2.类图  3.例子会手语的人将新闻联播表达给聋......
  • js判断移动端还是pc端
    functionisMobile(){letuserAgentInfo=navigator.userAgent;letAgents=['Android','iPhone','SymbianOS','WindowsPhone','iPad','iPod'];le......
  • RESTful和RPC
    RESTful架构是对MVC架构改进后所形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在RESTful架构中,【浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的......
  • 澳大利亚电源适配器、充电器安全标准正式更新提醒
    2021年6月,澳大利亚EESS发布信息公告(#21-030),以帮助理解适用于电源和电池充电器(低压范围内电气设备)的正确相关标准;该标准于2021年6月15日起开始生效,过渡期为一年,自2022年6月1......
  • 【网络】为什么百度查到的ip和ipconfig查到的不一样;详解公网Ip和私网ip;详解网络分类ABC;(转
    IP可以分为PublicIP和PrivateIP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有PublicIP才能直接连接上网络,所以对于那些公司,学校,政府机......
  • udhcpc如何绑定网络接口
    udhcpc如何绑定网络接口https://kysonlok.gitbook.io/blog/openwrt/how_does_udhcpc_work IntroduceOpenWrt缺省控制DHCP的进程如下......
  • PCR引物设计软件primer5
    PrimerPremier5是一款分子生物学试验常用的PCR引物设计软件,下面简要介绍一下该软件的使用方法。 第一步:打开primer5软件(图1). 图1 第二步:依次点击File-->New......