Nginx_Rewrite功能配置

1、简介

Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是用来实现URL的重写。

注意: Nginx服务器的Rewrite功能的实现依赖于PCRE的支持,因此在编译安装Nginx服务器之前,需要安装PCRE库。Nginx使用的是ngx_http_rewrite_module模块来解析和处理Rewrite功能的相关配置

Rewrite的相关指令

set 指令
if 指令
break 指令
return 指令
rewrite 指令
rewrite_log 指令

Rewrite 的 应用场景

域名跳转
域名镜像
独立域名
目录自动添加 '/'
合并目录
防盗链的实现

2、set 指令

该指令用来设置一个新的变量。

语法  set  $variable value;
默认值 -
位置 server、location、if

variable: 变量的名称、该变量名称要用 ‘$’ 作为变量的第一个字符,且不要与Nginx服务器预设的全局变量同名
value:变量的值,可以是字符串、其他变量或者变量的组合等

配置实例
在这里插入图片描述

配置结果
在这里插入图片描述

3、Rewrite 常用全局变量

变量  					说明
$args    				变量中存放了请求URL中的请求参数,比如 http://192.168.200.133/server?arg1=value&arg2=value2
                        中的'arg1=value1&arg2=value2',功能和query_string一样


$http_user_agent 		变量存储的是用户访问服务的代理信息(如果通过浏览器访问,记录的是浏览器的相关版本信息)

$host       			变量存储的是访问服务器的server_name值

$document_uri			变量存储的是当前访问地址的URI。比如 http:192.168.200.133/server?id=10&name=zhangsan中的'/server',
						 功能和$uri一样

$document_root          变量存储的是当前请求对应location的root值,如果未设置,默认指向Nginx自带html目录所在位置

$content_length   		变量存储的是请求头中的Content-Length的值

$content_type            变量存储的是请求头中的Content-Type的值

$http_cookie             变量存储的是客户端的cookie信息,可以通过add_header  Set-Cookie 'cookieName=cookieValue' 来添加cookie数据

$limit_rate             变量中存储的是Nginx服务器对网络连接速率的限制,也就是Nginx配置中对limit_rate指令设置的值,默认是0,不限制。

$remote_addr            变量中存储的是客户端的IP地址

$remote_port             变量中存储了客户端与服务端建立连接的口号

$remote_user            变量中存储了客户端的用户名,需要有认证模块才能获取

$scheme                 变量中存储了访问协议

$server_addr           变量中存储了服务端的地址

$server_name           变量中存储了客户端请求到达服务器的名称

$server_port           变量中存储了客户端请求到达服务器的端口号

$server_protocol        变量中存储了客户端请求协议的版本,比如 'HTTP/1.1'


$request_body_file     变量中存储了发给后端服务器的本地文件资源的名称

$request_method       变量中存储了客户端的请求方式,比如 'GET','POST'

$request_filename    变量中存储了当前请求的资源文件的路径名


$request_uri          变量中存储了当前请求的URI,并且携带请求参数,比如http://192.168.200.133/server?id=10</
  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值