我正在尝试使用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
任何建议都将不胜感激。
谢谢,
答案 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>