uri-rewrite
<p class="shortdesc">此插件主要用于根据请求条件动态修改请求到后端的路径。</p>
<p class="p"><strong class="ph b">2.0.4版本及以后支持</strong></p>
<p class="p">可以实现如下功能:</p>
<ol class="ol" id="uri-rewrite__ol_m1k_ftd_fsb">
<li class="li">将访问{bucket}.iobs.paic.com.cn的请求映射到 iobs.paic.com.cn/api/bucket</li>
<li class="li">将header/query中的值写入路径中。</li>
</ol>
<section class="section" id="uri-rewrite__section_lxx_htd_fsb"><h2 class="doc-tairway">插件配置字段说明</h2>
<div class="p">
<pre class="pre codeblock" id="uri-rewrite__codeblock_f4t_ntd_fsb"><code>{
"rules": [ //可以配置多个规则,根据check结果选择
{
"field_type": "query", //即动态数据来源,可选值:domain/header/cookie/query/method/uri
"field": "query1", //适用于header/cookie/query,即从具体哪个字段获取数据,其他可配置空
"regex": "^(.+)%.paic%.com%.cn$", //即匹配数据来源的正则表达式,需要有分组来获取具体动态数据
"uri": "/api/login/#1/#2", //即最终转换的地址,如果存在需要动态替换的请用#1/#2/#3代替(最多支持3个动态),如果不存在动态数据,则不会读取上面的动态数据来源
"check": [ //校验是否使用此替换规则
{
"value": "/api/login/success", //校验的值
"field_type": "url", //校验的字段
"operator": "EQUAL" //校验类型,可选值:EQUAL/CONTAIN
}
]
}
]
}</code></pre>
</div>
</section>
<section class="section" id="uri-rewrite__section_mjk_4td_fsb"><h2 class="doc-tairway">插件示例</h2>
<ol class="ol" id="uri-rewrite__ol_nnc_qtd_fsb">
<li class="li">根据header中的值,重写请求到后端的地址。<p class="p">插件配置如下:<img class="image" id="uri-rewrite__image_ef3_b5d_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-1c3de6a79505.png" width="800"></p><p class="p">请求结果如下:<img class="image" id="uri-rewrite__image_qnn_n5d_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-153c8fd29bb6.png"></p></li>
<li class="li"><strong class="ph b">根据host重写请求到后端的地址。</strong><p class="p">插件配置如下:<img class="image" id="uri-rewrite__image_dtw_cvd_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-116be9879945.png" width="800"></p><p class="p">请求结果如下:<img class="image" id="uri-rewrite__image_tsh_3vd_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-10f028c99163.png" width="800"></p></li>
</ol>
</section>
提交成功!非常感谢您的反馈,我们会继续努力做到更好!