Tuckey urlrewritefilter重写查询字符串

时间:2014-10-27 15:08:29

标签: tuckey-urlrewrite-filter

我正在尝试使用Tuckey URL重写过滤器来重写传递给Solr的查询字符串。

使用以下配置:

<urlrewrite use-query-strings="true">
    <rule>
       <from>^/test1/(.*)command=(.*)clean=true(.*)$</from>
       <to type="redirect">$1command=$2clean=false$3</to>
    </rule>
</urlrewrite>

如果查询字符串未作为查询字符串读取,则此配置有效,即

http://localhost/test1/command=something&clean=true&somethingelese=new

但按预期失败:

http://localhost/test1?command=something&clean=true&somethingelese=new

任何建议都将不胜感激。

谢谢,

1 个答案:

答案 0 :(得分:2)

您需要在网址中加入问号。

以下是我如何做到这一点的示例:https://github.com/KevinWorkman/StaticVoidGames/blob/master/StaticVoidGames/src/main/webapp/WEB-INF/urlrewrite.xml

但我认为你真正想要的就是这样:

<urlrewrite use-query-strings="true">
    <rule>
       <from>^/test1/\?(.*)command=(.*)clean=true(.*)$</from>
       <to type="redirect">$1command=$2clean=false$3</to>
    </rule>
</urlrewrite>