对于lbl adc(http反向代理),当它以“/”结尾时,我们需要重写来自服务的重定向url(http报头响应302,位置,见下面的示例),删除最后的“/”。重写还必须将响应代码从302更改为301。
如原始回复:
http/1.1 302号文件
地点:CEC2003/
传输编码:分块
日期:2019年8月21日星期三06:49:01 GMT
我想得到的结果是:
http/1.1 301号文件
地点:CEC2003
传输编码:分块
日期:2019年8月21日星期三06:49:01 GMT
最佳答案
请尝试此重写规则作为响应。
如果最后一个字符是“/”,则检查该条件。
接下来的两个操作更改响应代码,因此更改位置时不使用最后的“/”。
<rewriteHeaderRule enable="true" flow="RESPONSE"
name="changeResponseCodeAndCutLastSlash"
responseCode="302">
<conditions>
<cond from="ENTITY_RESPONSE" name="Location">
<regexTag>(.*)/$</regexTag>
</cond>
</conditions>
<entities>
<entity enable="true" entityName="FIRST-LINE" action="change">
<regexTag>^(.*) (.*)(.*)</regexTag>
<replaceTo>$1 301$3</replaceTo>
</entity>
<entity enable="true" entityName="Location" action="change">
<regexTag>(.*)/$</regexTag>
<replaceTo>$1</replaceTo>
</entity>
</entities>