前言:目前有一个需求,指定ip访问网站就跳转到另一个站点,或者某个页面。可以精确到某个ip跳转,也可判断访问者ip段,比如c段b段跳转
方法:nginx配置文件获取访问者ip或段然后判断跳转。
方法一:在conf配置文件中添加如下代码,请将ip和地址改成您需要的即可,
location / { if ($remote_addr ~* "110.110.110.110"){ rewrite ^(.*) https://blog.tag.gg/ break; }}
方法二:针对某个ip段判断跳转,如下是判断c段,也可判断b段等。
location / { if ($remote_addr ~* ^110\.110\.110\.(.*?)$){ rewrite ^(.*) https://blog.tag.gg/ break; }}
方法三:屏蔽ip反馈指定错误状态码:
location / { if ($remote_addr ~ '110.110.110.110') { return 403 "Error uuid forbidden."; }}
补充关于nginx的正则表达式
~ 区分大小写匹配
~* 不区分大小写匹配
!~和!~* 分别为区分大小写不匹配及不区分大小写不匹配
^ 匹配的开头
$ 匹配的结尾
. * ? 等需要转义