LNMP详解(十二)——Nginx URL重写实战

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Nginx的 URL重写实战。本文主要列举了几个常见的使用Nginx的URL重写的例子,并分别进行了配置,希望能够对您有所帮助。
阅读本文,您需要对Nginx的Rewrite功能和规则有一定的了解,如果您对此还存在困惑,欢迎您查阅我博客内的其他文章,相信您一定会有所收获!
推荐阅读:
LNMP详解(十一)——Nginx URL重写原理

一、网站建设时跳转

当网站进行建设或者发现了bug进行修复时,需要暂时性的将网站页面跳转到一个指定页面。以免其他客户端访问该站点时,资源不存在返回错误页面,影响站点美观建设。
要实现网站建设时对访问资源的跳转,可以直接在Nginx的配置文件中,http模块下的server模块中,添加如下内容:

rewrite ^/$ http://192.168.136.12/under_construction.html redirect;

这样,当我们访问页面资源时,会发生如下跳转:
在这里插入图片描述

二、访问资源不存在时跳转

除了上述设置,站点一般还会设置当访问资源不存在时,重定向跳转到一个指定页面上,这种功能的实现需要在Nginx的主配置文件中进行如下设置:

location / {
	root  /var/www/html;
	index  index.html index.htm;
	if (!-e $request_filename){
	rewrite ^/(.*)$ /lost.html redirect;
	}
}

这样,当我们访问一个根本不存在的站点时,结果如下:
在这里插入图片描述

三、根据浏览器进行跳转

当前,随着移动互联网的不断兴起,站点经常要设计两种页面,一种是针对手机用户的,一种是针对电脑用户的,这两种页面都符合各自用户分辨率的需求,因此也会给用户一种美观的感觉。这种功能的实现,就要求我们的Nginx根据不同的客户端类型进行跳转,实现如下所示:

location / {
	root  /var/www/html;
	index  index.html index.htm;
	if ($http_user_agent !~* "chrome"){
		rewrite ^/$ http://192.168.136.12/wrongpage.html redirect;
	}
}

上述代码实现了当使用非谷歌浏览器访问时,重定向至一个错误页面的场景,结果如下所示:
在这里插入图片描述

四、伪静态页面跳转

最后,我们进行一项当前站点经常配置的伪静态站点操作。所谓伪静态,就是指将一个含有参数的动态页面重定向伪装成一个静态页面。这样一来,即可以实现动态页面与数据库交互,又可以使得搜索引擎方便收录。
假设我们需要进行伪静态站点设置,将对http://192.168.136.102/false_static.php?id=【整数】的访问伪装成伪静态页面http://192.168.136.102/false_static/【整数】,那么我们应该在Nginx主配置文件中增添如下内容:

rewrite ^/false_static/(\d+)$  /false_static.php?id=$1 last;

在上述rewrite规则中,\d表示一个证书,前面表示匹配伪静态的页面规则,后面表示进行重定向后的页面。上述配置完成后,重启Nginx服务器,尝试访问该伪静态站点,结果如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值