[英]UrlRewriteFilter - combining redirect and forward rules
我正在尝试驯服urlrewritefilter,这看起来像当一个带有重定向的规则与另一个带有转发的规则匹配时,我不会如预期那样在地址栏中看到要重定向的URL。
这是config的一个片段:
<rule>
<from>/patha</from>
<to type="redirect">/pathb</to>
</rule>
<rule>
<from>/pathb</from>
<to type="forward">/pathc</to>
</rule>
我在尝试访问patha
时希望通过此规则完成的patha
patha
规则将我的浏览器重定向到pathb
,地址栏中的URL 正在更改 。 pathb
的规则也很匹配,因此浏览器将转发至pathc,但是由于此规则是转发的,因此地址栏中的URL 仍为pathb 。 但是实际上发生的是,我在不更改地址栏的情况下转发到pathc。
我的问题是:为什么会这样,我如何才能真正实现自己想要的?
UPD:我已经通过以下方式在jsp中使用重定向对urlrewritefilter进行了向前测试:
response.setStatus(302);
response.setHeader("Location", "pathb");
response.setHeader("Connection", "close");
结果是相同的-不重写URL。
您注意到的是预期的行为。 forward
您将永远不会在浏览器中看到该URL。 请查看以下forward
和redirect
之间的区别:
向前
重定向
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.