栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号