nginx rewite指令模块

引言:nginx作为反向代理服务器, 有时候需要修改http请求中的uri;

nginx rewrite模块包含的指令

  • break
  • if
  • return
  • rewrite
  • rewrite_log

nginx rewrite模块简介

The ngx_http_rewrite_module module is used to change request URI using regular expressions, return redirects, and conditionally select configurations.

主要包含三种方式,正则表达式改变uri, 直接返回跳转301,302、返回404、501错误; 根据条件修改uri;

nginx rewrite模块指令的执行顺序

该模块的指令可以出现在server/location下面,当然还有if块中;

  • the directives of this module specified on the server level are executed sequentially;
  • repeatedly:
    • a location is searched based on a request URI;
    • the directives of this module specified inside the found location are executed sequentially;
    • the loop is repeated if a request URI was rewritten, but not more than 10 times.

rewrite指令的标记

Syntax: rewrite regex replacement [flag];
Default: 
Context:    server, location, if
  • last ; stops processing the current set of ngx_http_rewrite_module directives and starts a search for a new location matching the changed URI;
  • break ; stops processing the current set of ngx_http_rewrite_module directives as with the break directive;
  • redirect; returns a temporary redirect with the 302 code; used if a replacement string does not start with “http://” or “https://”;
  • permanent ; returns a permanent redirect with the 301 code.

这四个标记并非是必须的,如果缺失[flag],则顺序向下执行;

流程图

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值