Nginx Rewrite 浅析

nginx@rewrite


1 ngx_http_rewrite_module 模块

rewrite 包括一系列功能,这些功能是由ngx_http_rewrite_module模块提供的

总共有 5 个指令(directive)可用于配置

  • 普通指令:if、set、break、return
  • 核心指令:rewrite

=

2 普通指令

提示:nginx配置文件每一行的基本格式:

directive value [value2 ...];

=

# if
# if (条件匹配){ action }
配合nginx的内置变量,实现一些条件判断。。。让特定条件执行特定的 location

# set
# set $name caokunzi;
用于自定义变量

# break
# break;
作用范围:当前级别的语句块
作用效果:
	1.在 server 块中,会屏蔽掉后面的 location
	2.在 location 块中,停止对当前URL在当前 location 中后续的其它【重写】操作,非 rewrite 操作则不受影响

# return
# return code;     
# return code [text]; 
# return code URL;   
立即结束当前请求,并直接向客户端返回响应状态码(和指定的文本或 URL)
🟥立即放弃当前语句块中【所有其他指令】,无论指令的前后顺序

=

=

3 rewrite 指令

注意:rewrite与其他四种指令是平级关系,都是一种directive

# 格式
rewrite regex replacement [flag];

# 表示将 regex 替换为 replacement 。。。可指定不同的 [flag] 实现不同效果
4 rewrite 指令的 flag
redirect;
# 临时重定向
# 状态码:302

permanent;
# 永久重定向
# 状态码:301

break;
# 🟥放弃当前location中后面的【其他重写指令】,不再匹配其他 location,直接返回数据

last;
# 🟥放弃当前location中的【其他重写指令】,继续匹配其他 location,直至不能再匹配,才返回数据

=

wan

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值