nginx default跳转

简介: 一转眼2016到了,时间过得真的很快,想想那个时候狂发博文还是2012年左右呢?当时为了获得奖品,天天各种研究啥的,嘿嘿,后来换了工作又因为各种原因,一直没发过博文了,回想一下差不多已经两年多时间没发博文了吧!以后如果有时间争取多多分享自己的工作经验。
一转眼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)都会走这个默认的配置文件,然后根据条件判断跳转到各自域名对应的指定错误页面上。这里我就截图说明一下。免得大家说无图无真相,也顺便打个广告哈~~


这里再看一下另外一个域名的测试结果





相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
9月前
|
安全 网络协议 应用服务中间件
Nginx配置http跳转https
Nginx配置http跳转https
266 0
|
Java 应用服务中间件 PHP
Nginx中的location匹配和rewrite重写跳转
1、常用的Nginx正则表达式 2、location 3、rewrite 4、rewrite实例
1407 0
Nginx中的location匹配和rewrite重写跳转
|
6月前
|
应用服务中间件 nginx 数据安全/隐私保护
安装Nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
安装Nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
176 0
|
11月前
|
应用服务中间件 nginx
Nginx:proxy_pass和try_files 301跳转带了端口
Nginx:proxy_pass和try_files 301跳转带了端口
373 0
|
12月前
|
前端开发 应用服务中间件 nginx
Nginx的反向代理自动301跳转避坑
当Web服务器为Nginx时,若浏览器访问的uri最后不带斜杠,如www.xxx.com.cn/aaa,当aaa是一个目录时,会产生301跳转,且自动将uri补全为www.xxx.com.cn/aaa/,最后添加一个/。当前端存在Nginx反向代理时,就会存在一个坑。
1779 0
|
缓存 应用服务中间件 PHP
Nginx及rewrite跳转(二)
Nginx及rewrite跳转(二)
Nginx及rewrite跳转(二)
|
缓存 搜索推荐 应用服务中间件
|
安全 应用服务中间件 网络安全
Nginx配置Https并进行Http强制跳转Https
Nginx配置Https并进行Http强制跳转Https
Nginx配置Https并进行Http强制跳转Https
|
缓存 安全 搜索推荐
Nginx配置4种模式跳转到指定统一域名
Nginx配置4种模式跳转到指定统一域名
1086 0
|
应用服务中间件 nginx
Nginx系列:配置跳转的常用方式
随着应用服务的增多,服务可能部署在不同的服务器上。这些服务有可能存在IP、端口Port、请求的ContextPath等一样的情况,怎么合理的配置他们的跳转呢?下面介绍三种常见的跳转方式。
404 0