小白干货:Nginx Rewrite的六个常见应用场景

Nginx Rewrite 应用场景

前言:上一篇博客我们已经大概了解Nginx rewrite了,这次我们就不过多掰掰了,我们单刀直入,直接开搞!这次的实验应用场景可是实战类型的,实用性很强。干货教学~

1.场景一

我们先用yum安装一个Nginx,然后再实现rewrite的功能

首先我们得先将官方的源给装进来,否则我们无法用yum 直接安装Nginx

mark

搞定后偶们就可以正常安装Nginx

mark

查看一下Nginx配置文件,并进入主配置文件进行修改

mark

mark

然后我们可以修改域名

mark

保存退出后,我们安装bind

mark

mark

进入后/127找到对应位置修改文件,将两个位置改成any

mark

保存退出

mark

找到下图的模板语句复制粘贴(5yy-复制, p-粘贴)

mark

复制粘贴好修改后如下

mark

保存退出

然后我们将文件改名成pig

mark

进入文件修改

mark

mark

接下来开启服务关闭防火墙

mark

开启Nginx

mark

接下里用另一台主机看看能不能解析

首先我们将首选的DNS服务器选择好

mark

mark

接下来我们就可以用cmd解析了

mark

能够解析,那我们打开网站应该也没有问题了

mark

这个时候场景来了,这是个老域名,我们要用新域名了,但是老客户并不知道。老客户输入的还是这个老网址,但是需要他自己动跳转到新的网址,接下来我们就需要在配置文件修改文件

mark

mark

mark

mark

保存退出

接下来我们得在区域配置文件里面再多加个dog区域

mark

mark

再复制修改文件

mark

重启服务

mark

接下来测试,你会发现你输入pig网址会进入dog

mark

mark

2.场景二

在允许的合法ip能正常访问我的网站,而那些不在我合法ip范围的ip,可以让他们访问到其他的或者我给他们指定的页面

首先我们把上一次实验的配置文件修改的地方删掉防止影响

mark

mark

然后还得修改配置文件,达到场景二需要的效果。我另一台主机的ip地址是192.168.58.131,我这作为尝试验证,设定允许访问的ip为192.168.58.130。其他设置的项目我也注释好了意思,配置也就是个if语句,大家根据注释应该也可以看得懂

mark

保存退出

然后我们应该定义一个网页

mark

mark

接下来重启服务

mark

接下来拿那台地址192.168.58.131的主机来测试

mark

这是维护页面,说明成功了。如果想要成功访问页面这里可以提供两种办法。

1.将default.conf里的允许ip地址改成你想让他访问的主机的ip地址,如我这里,就该改成192.168.58.131,这样我那台地址为192.168.58.131的主机便可以正常访问

2.将主机地址直接改为Nginx里允许的ip地址(前提是这个ip地址没被占用)

3.场景三

基于旧域名跳转到新域名后面加目录,例如现在访问的是www.pig.com,现在需要将这个域名下的发帖都跳转到www.pig.com/bbs,注意保持域名跳转后的参数不变。

还是一样的,先进入配置文件

mark

先把上一个场景的配置全部删掉

mark

然后改配置

mark

接下来就得改zone的配置了

mark

mark

重启服务

mark

然后我们得指定下域名

mark

接下来就是测试,我们打开另一台centos7主机

mark

证明实验ok了

4.场景四

基于参数匹配的跳转,例如现在访问www.pig.com/100-(100|200)-100.html

跳转到www.pig.com页面

还是进入这个文件

mark

删掉之前的配置

mark

然后改配置

mark

还有之前实验的zone文件也要改回来

mark

mark

下面重启服务

mark

然后测试

mark

mark

试验成功

5.场景五

基于某一目录下的所有PHP页面都会跳转首页

还是到原来那个老地方

mark

老样子,先删除原配置,再配置

mark

重启服务

mark

测试

mark

mark

实验成功

6.场景六

根据具体的页面跳转页面

还是那个老地方,继续改他,别忘了之前的配置改掉就行

mark

重启服务

mark

测试

mark

mark

实验成功

小结:做完这六个小场景,

mark

是不是感觉自己溜溜的?感觉自己好像也能做网站了似的?!哈哈,这六个场景的应用还是很实用的,基本上会装Nginx就行了,剩下的就是要会改配置文件里的脚本就行。你说你不会写脚本?没关系,我也不会。都不会,那就来看我博客呗,哈哈,小白也能看懂我的博客哟~

mc哟 发布了45 篇原创文章 · 获赞 7 · 访问量 2639 私信 关注

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...