博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx default跳转
阅读量:5890 次
发布时间:2019-06-19

本文共 1221 字,大约阅读时间需要 4 分钟。

一转眼2016到了,时间过得真的很快,想想那个时候狂发博文还是2012年左右呢?当时为了获得奖品,天天各种研究啥的,嘿嘿,后来换了工作又因为各种原因,一直没发过博文了,回想一下差不多已经两年多时间没发博文了吧!以后如果有时间争取多多分享自己的工作经验。今天心血来潮,发表一个关于nginx跳转的问题。
需求:将不同域名无效的主机头跳转到各自域名的错误页面上。也就是说我现在一台服务器上配置了两个二级域名,比如是zzz.cn和abc.cn,下面有很多不同子站点,每个子站点一个配置文件,今天就用www.zzz.cn和www.abc.cn这两个子站点做一下说明。
环境:以前这台服务器只有一个zzz.cn域名的环境,我们当时在DNS设置中基本上采用的是泛域名的解析,后来根据业务的发展需要配置另外一个abc.cn域名,在配置abc.cn域名之前就已经做了一个默认的站点default,也就是说访问zzz.cn域名下所有的无效主机头都跳转到指定的错误页面去了,但是这样有个问题,zzz.cn域名的无效主机头跳转肯定没问题了,但是新增的abc.cn域名的无效主机头也跳转到zzz.cn域名的指定错误页面就不合适了。
关于最开始配置的default.conf配置文件如下:
server {
  listen 80 default;
  server_name dynamics;
  rewrite (.+) $scheme://www.zzz.cn/index/error redirect;
}
前提是开发已经写好了这个www.zzz.cn域名的指定错误页面http://www.zzz.cn/index/error可以访问啊。比如用户输入了wwww.zzz.cn或者abcd.zzzz.cn域名访问能跳转到http://www.zzz.cn/index/error页面。在nginx里面没有配置wwww和abcd子站点的配置。
更改需求后的配置:
还是修改default.conf文件做判断,修改后内容如下:
server {
  listen 80 default;
  server_name dynamics;
  if ($host ~* (.*)\.zzz.cn) {
  rewrite (.+) $scheme://www.zzz.cn/index/error redirect;
  }
  if ($host ~* (.*)\.abc.cn) {
  rewrite (.+) $scheme://www.abc.cn/index/error redirect;
  }
}
通过配置也就是说只要访问zzz.cn和abc.cn域名的无效主机头(nginx里面没有配置的server_name)都会走这个默认的配置文件,然后根据条件判断跳转到各自域名对应的指定错误页面上。这里我就截图说明一下。免得大家说无图无真相,也顺便打个广告哈~~
这里再看一下另外一个域名的测试结果

转载地址:http://hkbsx.baihongyu.com/

你可能感兴趣的文章
MMORPG 游戏服务器端设计--转载
查看>>
《星辰傀儡线》人物续:“灭世者”、“疯狂者”、“叛逆者”三兄妹
查看>>
安装系统字体
查看>>
SILK 的 Tilt的意思
查看>>
Html学习笔记3
查看>>
批处理学习笔记8 - 深入学习For命令1
查看>>
ActiveX控件的安全初始化和脚本操作 和 数字签名SIGN
查看>>
Eclipse console文本换行
查看>>
微信支付开发(11) Native支付
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
【设计模式】—— 代理模式Proxy
查看>>
ejabberd
查看>>
博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)
查看>>
关于多线程的那些事
查看>>
js 将json字符串转换为json对象的方法解析
查看>>
1. Two Sum
查看>>
让浏览器不再显示 https 页面中的 http 请求警报
查看>>
hdu4893Wow! Such Sequence! (线段树)
查看>>
Android 最简单的SD卡文件遍历程序
查看>>
JavaScript获取DOM元素位置和尺寸大小
查看>>