if判断本身不支持多条件判断,用不了 && 或者|| 这种逻辑运算,而且if也不支持嵌套。

可以通过set变量来迂回实现。

比如这里我要实现访问a.rootop.org跳转到匹配子域名到指定的html页面。

dns和nginx已经配置了泛域名

实现效果:

a.rootop.org -> rootop.org/pages/a.html

b.rootop.org -> rootop.org/pages/b.html

但是这里要排除www.rootop.org的跳转

server

{

listen 80;

server_name rootop.org www.rootop.org *.rootop.org;

root html;

# 子域名跳转指定html页面

# 先设置个变量

set $subdomain "";

# 正则获取三级域(也就是主机名)

if ($http_host ~* "^(.*)\.rootop\.org$")

{

set $subdomain $1;

}

# 排除www

if ($subdomain = "www")

{

set $subdomain "";

}

# 除www外的实现跳转

if ($subdomain != "")

{

# 注意加上$scheme,如果是rootop.org/pages/xxx.html,则会认为是在域名后面加了个目录地址。

return 301 $scheme://rootop.org/pages/$subdomain.html;

}

}

如果想反过来实现也可以

# html页面跳转子域名

if ($uri ~* ".*/pages/(.*)\.html")

{

return 301 $scheme://$1.rootop.org;

}

专注于 服务器运维与web架构

E-mail:venus#rootop.org

html if语句多条件,nginx if多条件判断的实现相关推荐

  1. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  2. linux while 多个条件,Shell语法—— while 条件语句

    while 循环语句 while 循环语句语法格式为: while < 条件表达式 > do 指令 done 有关脚本运行的相关用法 命令 说明 sh file.sh & 把 fi ...

  3. python的if else 语句使得循环停止的_Python条件语句和循环语句

    条件和条件语句 1. 有条件地执行和 if 语句 真值可合并,至于如何合并稍后再讲,先来看看真值可用来做什么.请尝试运行下面的脚本: name = input('What is your name? ...

  4. Mysql SQL语句执行更新或者插入添加条件判断

    Mysql SQL语句执行更新或者插入添加条件判断 – 更新操作 – INSERT INTO materials (ID,Name,Remaining,Total) VALUES (1,'SolidW ...

  5. oracle or条件后 排序,WHERE条件和排序

    一.条件简介 了解条件的一般形式 最普通的条件如下形式: gyj@OCM> Select * from t1 where name='gyj2'; ID NAME           SALAR ...

  6. makefile ifneq多个判断条件_Python基础语法——条件判断

    条件判断是根据一个或多个条件的结果来进行判断的. 例如一个自动调温器需要不停地检测温度,只要温度低于某个值,就会打开加热,而温度高于某个值,就要打开降温.这里需要将温度值进行比较,然后做出判断,有一个 ...

  7. 写一个“特殊”的查询构造器 - (四、条件查询:复杂条件)

    复杂的条件 在 SQL 的条件查询中,不只有 where.or where 这些基本的子句,还有 where in.where exists.where between 等复杂一些的子句.而且即使是 ...

  8. count 有条件 mysql_mysql 不同条件count ,多条件count()

    create table abc(A int,B int) Select A,count(B) as total from ABC group by A Select A,count(B) as to ...

  9. java线程条件变量_使用条件变量(多线程笔记)

    条件变量属性: 使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止.条件变量始终与互斥锁一起使用. 使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止.对掉件的测试时在互斥锁的保护下 ...

最新文章

  1. 南京廖华计算机二级考试答案,计算机二级习题答案
  2. JQuery笔记(二)jq常用方法animate()
  3. PgwSlideshow-基于Jquery的图片轮播插件
  4. hive 语法检查_升级Hive3处理语义和语法变更
  5. AWS Elemental推出新一代基于云的直播视频服务
  6. python深浅拷贝的底层理解_理解python中的深拷贝与浅拷贝
  7. CDH 6.x 安装 Phoenix 服务
  8. jemalloc/jemalloc.h: No such file or directory
  9. Javascript学习之创建对象
  10. tcpip路由技术卷一_计算机网络题库考(2020.9.10晚18.320.30 北京卷)
  11. springboot旅游景区景点购票系统毕业设计毕设作品开题报告开题答辩PPT
  12. iView admin网站后台管理系统模板v2.5.0
  13. 2.2.9 12306火车订票验证码处理
  14. AdMob(app内嵌广告)使用入门
  15. 32位系统为什么又叫x86系统呢?
  16. 新手学习嵌入式开发要学什么
  17. 同是IT小小鸟——《我是一只IT小小鸟》读书笔记
  18. Win11设备管理器在哪里打开?
  19. 2022网易笑招4.21笔试题
  20. Spring Boot集成支付宝(最新版SDK)—— 手机支付

热门文章

  1. rbw设计_华为5G最新突破!我国每周增加1万个5G基站!频谱分析仪中RBW和VBW的区别...
  2. 最具发展前景的8大行业,IT行业排第一!
  3. 关于字节跳动小程序授权问题解决方案
  4. python如何对excel排序_Python操作Excel之分组排序
  5. 从html富文本中提取纯文本
  6. 《人月神话》——一部被名字误导的软件开发的书——第一次阅读
  7. 一本通1586【 例 2】数字游戏
  8. [网络流24题] 餐巾计划问题
  9. java初学者笔记总结day7
  10. 真正的正数、负数、整数等正则表达式,网上好多都是错的