Nginx URL重写,Rewrite

目的:地址改写,将www.johntest.com的访问跳转到www.ayatest.com

两台centos7,其中一台已有lnmp环境,域名为www.ayatest.com(本地解析),IP192.168.2.112

Nginx URL重写,Rewrite_第1张图片

另一台已安装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               //先删除下注释行看着清楚些

Nginx URL重写,Rewrite_第2张图片

其中地址末尾的 $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标记

常用正则表达式:

Nginx URL重写,Rewrite_第3张图片

rewrite 最后一项flag参数:

Nginx URL重写,Rewrite_第4张图片

 

最后在本地做个解析,访问域名www.johntest.com

Nginx URL重写,Rewrite_第5张图片

自动就跳转到了www.ayatest.com

Nginx重写规则指南

一晃又是一周过去了。。

你可能感兴趣的:(Nginx)