用TomCat重写URL

我正在用Tuckey重写器重写TomCat上的传入url请求:

<rule> <from>/OutputFile?sourceArticleId=([0-9]+)</from> <to>/app/clipping/get/$1</to> </rule> 

“?” 问号不符合正则expression式模式。 我怎样才能正确地逃避它呢或者什么是正确的解决scheme呢?

我不太熟悉urlrewrite的reg exp,但你可以试试:

 <from>/OutputFile\?sourceArticleId=([0-9]+)</from> 

在很多语言中,逃避的angular色是“

更新:

根据文档 ,默认情况下,查询string不包含在<from>元素中。 所以你可以尝试use-query-stringurlrewrite设置的use-query-string

还要确保<urlrewrite>中的default-match-type设置为regex (我使用STS中的Spring MVC模板,默认情况下它被设置为wildcard

 <urlrewrite use-query-string="true"> <rule match-type="regex"> <from>/OutputFile\?sourceArticleId=([0-9]+)</from> <to>/app/clipping/get/$1</to> </rule> ...