开发者社区> split_two> 正文

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)都会走这个默认的配置文件,然后根据条件判断跳转到各自域名对应的指定错误页面上。这里我就截图说明一下。免得大家说无图无真相,也顺便打个广告哈~~


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





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx:proxy_pass和try_files 301跳转带了端口
Nginx:proxy_pass和try_files 301跳转带了端口
24 0
Nginx的反向代理自动301跳转避坑
当Web服务器为Nginx时,若浏览器访问的uri最后不带斜杠,如www.xxx.com.cn/aaa,当aaa是一个目录时,会产生301跳转,且自动将uri补全为www.xxx.com.cn/aaa/,最后添加一个/。当前端存在Nginx反向代理时,就会存在一个坑。
140 0
Nginx及rewrite跳转(二)
Nginx及rewrite跳转(二)
46 0
Nginx配置Https并进行Http强制跳转Https
Nginx配置Https并进行Http强制跳转Https
332 0
Nginx配置4种模式跳转到指定统一域名
Nginx配置4种模式跳转到指定统一域名
759 0
Nginx系列:配置跳转的常用方式
随着应用服务的增多,服务可能部署在不同的服务器上。这些服务有可能存在IP、端口Port、请求的ContextPath等一样的情况,怎么合理的配置他们的跳转呢?下面介绍三种常见的跳转方式。
257 0
Nginx中的location匹配和rewrite重写跳转
1、常用的Nginx正则表达式 2、location 3、rewrite 4、rewrite实例
893 0
php的nginx站点域名后面输入d.aspx跳转至当前页面的index.php
php的nginx站点域名后面输入d.aspx跳转至当前页面的index.php
73 0
解码Nginx如何快速实现HSTS跳转
Nginx如何快速实现HSTS跳转的方法
241 0
+关注
split_two
忠于开源,热爱开源。
文章
问答
视频
相关电子书
更多
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载