基于请求参数的URL转发

时间:2017-11-16 14:20:41

标签: url-rewriting tuckey-urlrewrite-filter

我正在使用http://www.tuckey.org/urlrewrite/中的UrlRewriteFilter。主要是我尝试将以下网址http://domain/application/?param=value重定向到http://domain/application/?another_param=another_value(只需替换请求参数)。
以下是我的规则配置似乎不起作用

    <rule>
    <from>^(.*?param=value)$</from>
    <to type="forward">%{context-path}?another_param=another value</to>
</rule>

我尝试了其他几种变体,但这似乎也没有用。任何关于这个问题的灯光都会非常感激

1 个答案:

答案 0 :(得分:1)

我已经能够使用以下规则解决问题

 <rule>
    <name>Selective redirect example redirect</name>
    <condition type="parameter" name="param" operator="equal">value</condition>
    <to type="forward">?another_param=another_value</to>
</rule>

这里答案的关键是使用条件而不是依赖规则来捕获请求,在我的情况下,我只需要在满足某个参数值时应用规则。答案的第二部分是删除<from>标记,因此满足条件的所有请求都将重定向到同一源页面。

最后,以下是我在搜索答案时最有用的链接: