LNMP详解(十一)——Nginx URL重写原理

简介: LNMP详解(十一)——Nginx URL重写原理

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Nginx的 URL重写原理与实战。

一、URL重写场景
Nginx的URL重写也被称为Rewrite,主要作用是实现当客户端对特定URL访问的时候,根据客户端的访问信息实现跳转到其他URL处。URL重写在现在的网站中经常常见,比如:
1、对搜索引擎的访问进行优化,利于搜索引擎抓取页面。
2、隐藏站点的真实URL地址,使得URL资源更加简介。
3、当网站升级时,通过URL重写功能,将网站重定向到其他页面。
4、手机和电脑在访问同一站点时,反馈不同的页面,以便使得网站页面使用手机和电脑不同分辨率,使得页面更加美观。

二、URL重写规则
在Nginx的URL Rewrite的配置中有三大模块,分别是Rewrite结尾标识符,Rewrite规则表达式和Rewrite变量。下面我就对这三大模块进行详细介绍。

(一)Rewrite结尾标识符
Nginx的Rewrite结尾标识符,主要用于Rewrite规则末尾,表示规则的执行属性。Nginx的Rewrite结尾标识符主要有以下四种:
1、last
该标记表示已经完成了rewrite匹配。
2、break
该标记表示当该规则匹配完成后,不再进行后续的规则匹配。
3、redirect
该标记表示向客户端返回302临时重定向,浏览器地址会显示跳转后的URL地址。
4、permanent
该标记表示向客户端返回301永久重定向,浏览器地址会保持不变。

(二)Rewrite规则表达式
Nginx的Rewrite表达式采用了perl语法,主要用于参数、字符串的匹配。常用的Nginx Rewrite规则表达式如下所示:
1、.
匹配除了换行符之外的任意一个符号
2、[abc]
匹配字符串abc
3、[^abc]
匹配除了abc之外的字符串
4、abc|cba
匹配字符串abc或者cba
5、?
表示匹配前面的字符0次或者1次
6、+
表示匹配前面的字符1次或者多次
7、*
表示匹配前面的字符0次或者多次
8、^
匹配字符串开始
9、$
匹配字符串结束
10、\n
表示对字符n进行转义

(三)Rewrite变量
Rewrite变量常用语匹配HTTP头信息,比如浏览器类型、主机名等等,常见的Rewrite变量如下:
1、HTTP_USER_AGENT
表示客户端用户使用的代理(即服务器)。
2、HTTP_REFERER
表示用户访问该页面的来源(即从哪个页面来跳转到该页面的)
3、HTTP_COOKIE
表示用户的COOKIE
4、HTTP_HOST
表示服务器的ServerName域名
5、HTTP_ACCEPT
表示客户端的浏览器支持的MIME类型
6、REMOTE_ADDR
表示客户端的IP地址
7、QUERY_STRING
表示URL中访问的字符串
8、DOCUMENT_ROOT
表示服务器发布目录
9、SERVER_PORT
表示服务器端口
10、SERVER_PROTOCOL
表示服务器端采用的协议
11、TIME_YEAR、TIME_MON、TIME_DAY
表示当前时间,以上三个参数分别表示年、月和日。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

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

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

目录
相关文章
|
6月前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
446 0
|
3月前
|
负载均衡 网络协议 关系型数据库
一口把LVS、Nginx及HAProxy工作原理讲清楚了。(附图)
一口把LVS、Nginx及HAProxy工作原理讲清楚了。(附图)
|
24天前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
25天前
|
Java 应用服务中间件 API
nginx线程池原理
nginx线程池原理
24 0
|
6月前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
318 0
|
3月前
|
域名解析 缓存 负载均衡
深度解析Nginx正向代理的原理与实现
Nginx虽然主要被用作反向代理,但也可以通过一些特殊配置用作正向代理。虽然不是它的主流用途,但它仍能以其高性能和高稳定性为用户提供代理服务。不过,出于安全性和匿名性的考虑,在使用它作为正向代理时须谨慎配置,并根据实际需求做出调整。
98 0
|
5月前
|
应用服务中间件 Apache nginx
apache、nginx开启rewrite重写服务及伪静态
apache、nginx开启rewrite重写服务及伪静态
254 4
|
6月前
|
开发框架 搜索推荐 中间件
中间件应用路由和URL重写
【5月更文挑战第2天】中间件应用路由和URL重写
49 3
中间件应用路由和URL重写
|
5月前
|
应用服务中间件 nginx Windows
nginx实现网站url带参跳转 POST请求GET请求跳转
nginx实现网站url带参跳转 POST请求GET请求跳转
255 1
|
6月前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略