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 ^/(.*)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_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+)/falsestatic.php?id=1 last;
1
在上述rewrite规则中,\d表示一个证书,前面表示匹配伪静态的页面规则,后面表示进行重定向后的页面。上述配置完成后,重启Nginx服务器,尝试访问该伪静态站点,结果如下所示:

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

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

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

目录
打赏
0
2
2
1
205
分享
相关文章
百万级URL重定向工程:大规模网站架构设计与性能优化实战
本文深入探讨了大规模重定向系统的核心挑战与解决方案,涵盖技术瓶颈分析、分布式架构设计、十亿级URL处理策略、全球化部署方案及全链路监控体系。通过数学建模与性能优化,提出三层架构模型,并结合一致性哈希分片算法实现高效路由。同时,对比不同架构的吞吐量与容灾能力,分享某电商平台实践案例,展示性能显著提升。最后展望重定向即服务(RaaS)未来趋势,包括AI动态路由、量子安全跳转和边缘智能等关键技术,为企业提供扩展性强、稳定性高的系统设计参考。
139 25
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
929 0
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
299 23
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【6月更文挑战第22天】在Java网络编程中,理解和运用URL与URLConnection是关键。URL代表统一资源定位符,用于标识网络资源;URLConnection则用于建立与URL指定资源的连接。通过构造URL对象并调用openConnection()可创建URLConnection。示例展示了如何发送GET请求读取响应,以及如何设置POST请求以发送数据。GET将参数置于URL,POST将参数置于请求体。练习这些基本操作有助于提升网络编程技能。
140 3
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
5796 1
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
12月前
|
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
105 3
实战算法篇:设计短域名系统,将长URL转化成短的URL.
小米介绍了一种实用的短域名系统设计,用于将冗长的URL转化为简短链接。短链接不仅节省空间,便于分享,还能支持数据分析。系统通过唯一编号结合62进制转换生成短标识,并利用如Redis这样的数据库存储长链接与短标识的映射关系。最后,通过302重定向实现用户访问时的长链接恢复。这一方案适用于多种场景,有效提升用户体验与数据追踪能力。
235 9
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天】
1086 3
下一篇
对象存储OSS
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问