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

news/2024/7/7 12:38:15

本文目录

一、背景描述

二、问题原因

三、解决方案


一、背景描述

由于已出货的产品上印的有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;
	}

完结!


http://www.niftyadmin.cn/n/1993237.html

相关文章

新疆吐鲁番葡萄为什么这么甜

新疆吐鲁番葡萄为什么这么甜 主要的是:一是新疆纬度高,日照多,光和作用就充分了。 二是昼夜温差大,有利于糖份的积累。 首先吐鲁番地区的土壤适合葡萄的生长习性,再就是气候:日照时间长,干燥,昼夜温差大.干燥的气候能有效的留住葡萄的糖份(…

【mapstruct】Java 中 mapstruct mapper 转换器部分字段转换无效的解决方案

本文目录 一、背景描述 二、问题原因 原因一:映射的字段不一致 原因2:编译问题 三、解决方案 一、背景描述 springboot 2.1.5 mapstruct 1.3.0.Final maven管理工具 接手一个项目,根据需求需要对其接口进行修改,对于两个实…

【工具使用】SecureCRT的下载、安装图文详细过程介绍

本文目录 一、SecureCRT的介绍 二、SecureCRT的下载 三、SecureCRT的安装 四、SecureCRT的使用 一、SecureCRT的介绍 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 Secure…

三国志IX修炼统率的方法

三国志9修炼统率的方法 1、统率10: (1)孙子兵法 (统率10 忠诚30 加兵法斗舰) 。通:1-2(孙坚) 3-4(孙策) 5-9(孙权) 10(孙休) 。IF:1-2(孙坚) 3-5(孙策) 6-7(孙权) 8(孙皓) 9(孙权) 10(孙坚) (2)六韬 (统率8 忠诚18 无加兵法) 。通&#…

【异常】com.alibaba.fastjson.JSONException: unclosed string : U

本文目录 一、背景描述 二、错误原因 三、解决方案 一、背景描述 解析 json字符串 时,报如下错误: com.alibaba.fastjson.JSONException: unclosed string : U ....... 二、错误原因 该问题是因为json字符串中含有“\”导致的,如下图所示…

【异常】Feign 调用api模块直接进入fallback的问题解决办法

本文目录 一、背景描述 二、问题原因 三、解决方案 一、背景描述 最近在项目中把服务层的接口封装成了api模块,当其他项目引用了该api模块,调用接口的时候,直接走了fallback,并且没有打印任何异常信息。并且已经在启动类上添加…

三国志IX反○○连合的条件

三国志IX反○○连合的条件 成立反○○连合条件1游戏开始一年后2与目标势力君主非亲子关系3与目标势力关系为[中立]以下(即中立/不和/险恶)4与目标势力领土接壤,支配都市一个以上5符合2,3,4条件的势力最少有三个(不计异…

【拓展】路由器的附加功能----地址转换和包过滤

本文目录 一、通过地址转换有效利用IP地址 1.1 地址转换的背景 1.2 地址转换的基本原理 1.3 改写端口号的原因 1.4 从互联网访问公司内网 二、路由器的包过滤功能 一、通过地址转换有效利用IP地址 之前我们介绍了路由器的基本工作过程,现在的路由器除了这些基…