使用Tuckey URL重写时获取查询字符串

Fgb*_*nch 1 java regex urlrewriter url-rewriting tuckey-urlrewrite-filter

我有以下规则:

<rule>
     <from>^/users/(.*)$</from>
     <to last="true">/users.do$1</to>
</rule>
Run Code Online (Sandbox Code Playgroud)

我想匹配以下网址:

http://localhost:8077/users/?elemsPerPage=10
Run Code Online (Sandbox Code Playgroud)

并将其重定向到:

http://localhost:8077/users.do?elemsPerPage=10
Run Code Online (Sandbox Code Playgroud)

问题是当url rewriter引擎找到"?"时 url中的字符在$ 1匹配参数中不返回任何其他内容.它既不会将参数添加到查询字符串中.有任何想法吗?

Fgb*_*nch 7

最后我找到了解决这个问题的方法:

规则:

<rule>
     <from>^/users/$</from>
     <to last="true">/users.do?%{query-string}</to>
</rule>
Run Code Online (Sandbox Code Playgroud)


小智 7

有一种更好的方法,尝试在urlrewrite中添加use-query-string ="true"

<urlrewrite use-query-string="true">