目的:地址改写,将www.johntest.com的访问跳转到www.ayatest.com
两台centos7,其中一台已有lnmp环境,域名为www.ayatest.com(本地解析),IP192.168.2.112
另一台已安装nginx,域名为www.johntest.com(本地解析),IP192.168.2.105
配置本地解析
# vim /etc/hosts
192.168.2.112 www.ayatest.com
192.168.2.105 www.johntest.com
配置nginx路由跳转
# vim /usr/local/nginx/conf/nginx.conf
:g/^\s*#/d //先删除下注释行看着清楚些
其中地址末尾的 $1 是前面 ^/(.*)$ 匹配到的该域名包括后跟的完整路径字符串,如果正常访问这个域名跳转是没有问题的,但是如果在正常域名后随意输入比如www.johntest.com/123/111.html这样的路径,那加上$1后会在跳转后的地址后面也会跟上123/111.html这个路径,实际跳转会变为www.ayatest.com/123/111.html,所以如果是需要访问www.johntest.com任意路径都只跳转到www.ayatest.com的/目录的话,就去掉$1,跳转的对象不限于/,可在www.ayatest.com后加上指定路径。
rewrite语法:
指令语法:rewrite regex replacement[flag];
默认值:none
应用位置:server、location、if
rewrite是实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记
常用正则表达式:
rewrite 最后一项flag参数:
最后在本地做个解析,访问域名www.johntest.com
自动就跳转到了www.ayatest.com
一晃又是一周过去了。。