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

简介: 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;
1
这样,当我们访问页面资源时,会发生如下跳转:

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

location / {
root /var/www/html;
index index.html index.htm;
if (!-e $request_filename){
rewrite ^/(.*)$ /lost.html redirect;
}
}
1
2
3
4
5
6
7
这样,当我们访问一个根本不存在的站点时,结果如下:

三、根据浏览器进行跳转
当前,随着移动互联网的不断兴起,站点经常要设计两种页面,一种是针对手机用户的,一种是针对电脑用户的,这两种页面都符合各自用户分辨率的需求,因此也会给用户一种美观的感觉。这种功能的实现,就要求我们的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;
}
}
1
2
3
4
5
6
7
上述代码实现了当使用非谷歌浏览器访问时,重定向至一个错误页面的场景,结果如下所示:

四、伪静态页面跳转
最后,我们进行一项当前站点经常配置的伪静态站点操作。所谓伪静态,就是指将一个含有参数的动态页面重定向伪装成一个静态页面。这样一来,即可以实现动态页面与数据库交互,又可以使得搜索引擎方便收录。
假设我们需要进行伪静态站点设置,将对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;
1
在上述rewrite规则中,\d表示一个证书,前面表示匹配伪静态的页面规则,后面表示进行重定向后的页面。上述配置完成后,重启Nginx服务器,尝试访问该伪静态站点,结果如下所示:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/122997744

目录
相关文章
|
4月前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【6月更文挑战第22天】在Java网络编程中,理解和运用URL与URLConnection是关键。URL代表统一资源定位符,用于标识网络资源;URLConnection则用于建立与URL指定资源的连接。通过构造URL对象并调用openConnection()可创建URLConnection。示例展示了如何发送GET请求读取响应,以及如何设置POST请求以发送数据。GET将参数置于URL,POST将参数置于请求体。练习这些基本操作有助于提升网络编程技能。
67 3
|
1月前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
2月前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
30 3
|
2月前
|
存储 NoSQL 算法
实战算法篇:设计短域名系统,将长URL转化成短的URL.
小米介绍了一种实用的短域名系统设计,用于将冗长的URL转化为简短链接。短链接不仅节省空间,便于分享,还能支持数据分析。系统通过唯一编号结合62进制转换生成短标识,并利用如Redis这样的数据库存储长链接与短标识的映射关系。最后,通过302重定向实现用户访问时的长链接恢复。这一方案适用于多种场景,有效提升用户体验与数据追踪能力。
63 9
|
5月前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
254 0
|
4月前
|
应用服务中间件 Apache nginx
apache、nginx开启rewrite重写服务及伪静态
apache、nginx开启rewrite重写服务及伪静态
147 4
|
4月前
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
387 1
|
4月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
357 3
|
4月前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
65 1
|
4月前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
133 1
下一篇
无影云桌面