2014-10-27 91 views
0

我想用Tuckey URL重寫過濾器來重寫傳遞給Solr的查詢字符串。Tuckey urlrewritefilter重寫查詢字符串

採用以下配置:

<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 

任何建議,將不勝感激。

謝謝

回答

2

您需要在url中包含問號。

下面是如何我已經做到了一個例子: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> 
+0

謝謝。你的例子真的很有用。查看它們之後,我意識到我已經包含'use-query-strings =「true」'而不是'use-query-string =「true」',所以當使用查詢字符串時,匹配的正則表達式從未匹配。 – Nick22 2014-10-27 15:39:20

+0

@ Nick22啊,很好。很高興你把它整理出來! – 2014-10-27 15:44:29