Nginx 多重判断

说明:nginx 不支持&& 和嵌套if判断

#多重判断,匹配移动端和http_host为xxx.com跳转到m.xxx.com

set $flag 0;

if ( $http_user_agent ~ "(iPhone)|(Android)" ) {

set $flag "${flag}1";

}

if ( $http_host ~* "^(xxx\.com)$" ) {

set $flag "${flag}1";

}

if ( $flag = "011" ) {

rewrite ^(.*) http://m.xxx.com/;

}

时间: 2024-10-06 20:24:31

Nginx 多重判断的相关文章

Nginx rewrite 多重判断

默认Nginx不支持多重判断,可通过设置变量的方式,变相的实现多重判断. 需求: 将http://192.168.1.221/[email protected]_1movsv 跳转到http://192.168.1.221/data/html/192/index.html, 其中[email protected]_1movsv 中的@是固定格式: 同时要满足ThinkPHP的伪静态配置,将http://192.168.1.221/XXX 跳转到http://192.168.1.221/index

Nginx多重if判断的实现

首先 Nginx不支持 and.or.&&.|| 这类语法:且不支持if的多重嵌套,例如: if (aaa) { if (bbb) { exec @ccc; } } 多重判断如何实现呢? 最近要做个配置,将移动设备访问网页时跳转到手机版面.需要判断2个部分才做跳转:一.客户端来源为移动设备:二.访问指定域名业务时. 实现方法一 每个域名配置单独的server{},这样配置比较简明:但缺点是配置文件会写很长,要修改多次.(比较啰嗦) 实现方法二 全部域名配置一个server{},进行多重判断

润乾集算报表非常规统计之多重判断

报表在数据源准备阶段往往要根据实际业务进行各种判断计算以后才能得到最终的报表数据源,而使用SQL在这种情况下则难于编写,http://bbs.csdn.net/topics/390938280中提到的考勤问题就是其中之一,这个计算看起来是给财务或人力部门的考勤报表服务的.计算逻辑并不算复杂,但使用SQL却很难做,用存储过程(要取首尾记录)也很麻烦,而一般的报表工具由于不具备强计算能力,常常只能写用Java等写自定义数据源实现. 使用润乾集算报表来做则比较简单,这里以上述链接中的实际业务为例,给出

报表数据源的多重判断

报表在数据源准备阶段往往要根据实际业务进行各种判断计算以后才能得到最终的报表数据源,而使用SQL在这种情况下则难于编写,http://bbs.csdn.net/topics/390938280中提到的考勤问题就是其中之一,这个计算看起来是给财务或人力部门的考勤报表服务的.计算逻辑并不算复杂,但使用SQL却很难做,用存储过程(要取首尾记录)也很麻烦,而一般的报表工具由于不具备强计算能力,常常只能写用Java等写自定义数据源实现. 使用润乾集算报表来做则比较简单,这里以上述链接中的实际业务为例,给出

06Angular指令(多重判断)

多重判断 *ngSwitchCase  *ngSwitchDefault,有一个使用前提:通过[ngSwitch]去指定判断条件 demo04.component.ts demo04.component.html 原文地址:https://www.cnblogs.com/shanlu0000/p/12202452.html

NGINX实现IF语句里的AND,OR多重判断

原理 就是用SET变量进行. AND 就用变量叠加,OR就用0或1切换. nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现: 首先是伪代码(即不被nginx支持),写在这里只是为了方便理解: if ($remote_addr ~ "^(12.34|56.78)" && $http_user_agent ~* "spider") { return 403; } 这是等效的,并真实可用的配置 s

【土旦】在vue filters中 优雅的使用对象的key、value来替换 if switch多重判断简化流程

前言 之前写过滤器的时候都是 用 if switch 来进行值的判断 返回对应的值, 在没去百度搜索之前都是都是这样写的 1 if (val == 1) { 2 return "支付成功"; 3 } else if (val == 2) { 4 return "支付失败"; 5 } else if (val == 3) { 6 return "已发货"; 7 } else { 8 return "出现错误"; 9 } 1 sw

python 3 if else 多重判断示例

# -*- coding:utf-8 -*-   Man = 27 guess_age_of_people = int (input("guess age:")) #python 3.x 默认变量类型为字符串,数字需要应int () 方式进行整形 if guess_age_of_people == Man :     print("It is true!") elif guess_age_of_people > Man :     print("It

PHP多重判断删除文件函数

<?function delete_file($file) {     if (file_exists($file))     {         $delete = chmod ($file, 0777);         $delete = unlink($file);         if(file_exists($file))         {             $filesys = eregi_replace("/","\\",$file);