nginx首页根据IP跳转

场景:
1. 当有新服务或页面上线,需要进行线上测试,但不能影响用户,可以选择对开发部门的ip进行跳转到新的地址
2. 服务器维护需要对开发以外的ip跳转到维护的提示页
3. 针对不同地区的ip展示不同的首页效果(需要geoip模块配合)

可以通过使用过下面的配置实现上述场景

location / {
  if ($remote_addr ~* "223.93.188.66"){
    rewrite ^(.*) https://新的地址/ break;
  }
}
或者

location / {
  if ($remote_addr ~* ^223.93.188.(.*?)$){
    rewrite ^(.*) https://新地址/ break;
  }
}
补充关于nginx的正则表达式

~ 区分大小写匹配

~* 不区分大小写匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

^ 匹配的开头

$ 匹配的结尾

. * ?等需要转义
————————————————
原文链接:https://blog.csdn.net/lai0yuan/article/details/80784058

原文地址:https://www.cnblogs.com/gramblog/p/11446914.html