Skip to content

CustomAction: Redirect

AlexaZhou edited this page Mar 5, 2016 · 8 revisions

功能介绍

Redirect可以将一个请求重定向到另外一个地址

背景知识

Matcher

配置说明

可以定义多条规则,每条规则包含以下参数

  • Enable
  • Matcher
  • RegEx
  • Redirect to

执行过程

寻找规则

每收到一个请求,VeryNginx将按照从上到下(序号递增)的顺序,取每一条规则的 Matcher 进行匹配测试,当找到第一个符合的Matcher时,即由这一条规则进行处理,停止后续匹配

应用规则

当 Regex 项为空时, 请求将被重定向到Redirect to 项填写的地址。 当 Regex 项不为空时,新地址由gsub算法生成:

new_address = gsub( uri, re,redirect_to )

其中 re 为规则中定义的Regex,redirect_to 为规则中定义的 Redirect to 项目

示例1:

VeryNginx默认访问路径是 /veryngingx/dashboard/index.html, 我们想缩短到 /vn/index.html, 可以作以下配置

Matcher: URI ≈ ^/vn Regex: ^/vn/(.*) Redirect to: /verynginx/dashboard/$1

添加规则之后,访问 /vn/index.html 即可访问配置面板

注意事项

  • Redirect to 项可以是以下两种形式
  1. 带有协议以及域名 (http/https)://www.abc.com/test/aaa/bbb
  1. 不带有域名 /test/aaa/bbb
  • 重定向时url后的查询字符串参数将会被保留
  • 注意规则的顺序,防止一个严格的Matcher被排名更前的宽松Matcher覆盖,导致规则不起作用
Clone this wiki locally