【Nginx】记录 nginx 配置文件中 location下根据 ua (user-agent) 判断移动端和电脑端不同浏览器来源

简介: 【Nginx】记录 nginx 配置文件中 location下根据 ua (user-agent) 判断移动端和电脑端不同浏览器来源

一、背景描述

由于已出货的产品上印的有APP软件的下载地址(https://www.****.com/a/fwyzc/mrjxz/) 的二维码,而这个下载地址是无法改变的,使用手机扫描这个二维码出现web端的页面,对手机用户来说很不友好,所以需要解决手机端扫描二维码后自动适配手机端的问题。

二、问题原因

nginx原先配置方式

    location  /a/fwyzc/rjxz {
             # 以下内容表示会跳转到Web端页面,即跳转到 /data/root/****/****/cn/web/software_download.html 这个页面
             alias   /data/root/****/****/cn/web;
             index software_download.html;
    }

对于这个URL来说,nginx配置已强制跳转至 web 页面了,所以手机端无论怎么扫描,都是访问的 web 端页面。

三、解决方案

在这个 location 域中添加对 UA 的判断,注意判断 UA 条件里面,不能使用 root 指向,而使用 alias 后,重定向页面无效果,最后在大佬的建议下,在判断 UA 条件里面使用 rewrite 关键字才可以。

正确的配置如下所示:

  location  /a/fwyzc/rjxz/ {
      alias   /data/root/****/****/cn/web/;
      index  software_download.html;
      # 判断终端
      if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|iPad|BlackBerry)') {
          set $mobile_request '1';
          # 如果访问UA为移动终端类型则判断为 mobile_request=1
      }
      if ($http_cookie ~ 'mobile_request=full') {
          set $mobile_request '';
      }
      if ($mobile_request = '1') {
          rewrite  ^/(.*)$  https://$host/a/fwyzc/mrjxz/ redirect;                                                                                                                                    
      }
  }
  location  /a/fwyzc/mrjxz/ {
      alias   /data/root/****/****/cn/mobile/;
      index software_download.html;
  }

完结!


相关文章
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
2248 2
|
应用服务中间件 nginx
Nginx Location 深入剖析及动静分离简易配置
Nginx Location 深入剖析及动静分离简易配置
421 3
|
人工智能 监控 数据可视化
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
Agent TARS 是一款开源的多模态AI助手,能够通过视觉解析网页并无缝集成命令行和文件系统,帮助用户高效完成复杂任务。
5647 13
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
|
人工智能 开发框架 自然语言处理
Eko:一句话就能快速构建复杂工作流的 AI 代理开发框架!快速实现自动操作电脑和浏览器完成任务
Eko 是 Fellou AI 推出的开源 AI 代理开发框架,支持自然语言驱动,帮助开发者快速构建从简单指令到复杂工作流的智能代理。
2186 12
Eko:一句话就能快速构建复杂工作流的 AI 代理开发框架!快速实现自动操作电脑和浏览器完成任务
|
人工智能 自然语言处理 JavaScript
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
Agent-E 是一个基于 AutoGen 代理框架构建的智能自动化系统,专注于浏览器内的自动化操作。它能够执行多种复杂任务,如填写表单、搜索和排序电商产品、定位网页内容等,从而提高在线效率,减少重复劳动。本文将详细介绍 Agent-E 的功能、技术原理以及如何运行该系统。
1628 5
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
972 1
 H5微信外支付(移动端浏览器)
|
存储 缓存 前端开发
理清 nginx 中的 location 配置
理清 nginx 中的 location 配置
|
应用服务中间件 nginx
nginx location指令详解
nginx location指令详解
|
监控 安全
公司如何监控员工电脑:WebAssembly 语言的浏览器端探索
在数字化办公环境中,公司可能需要对员工电脑进行监控以确保信息安全和工作效率。WebAssembly 作为一种高性能的二进制指令格式,可在浏览器端实现复杂监控功能,如获取浏览器信息和监测网络活动,无需安装额外软件,降低了系统侵入性。然而,公司在实施监控时需遵守法律法规和道德规范,确保员工隐私得到保护,并明确告知监控目的与范围。
372 3

热门文章

最新文章