我希望使用 Tuckey 重写器重写 TomCat 上传入的 URL 请求:
<rule>
<from>/OutputFile?sourceArticleId=([0-9]+)</from>
<to>/app/clipping/get/$1</to>
</rule>
“?”问号不符合正则表达式模式匹配。我该如何正确地转义它,或者正确的解决方案是什么?
答案1
我不太熟悉 urlrewrite 中的 reg exp,但你可以尝试:
<from>/OutputFile\?sourceArticleId=([0-9]+)</from>
在许多语言中,转义字符是\
更新:
根据文档默认情况下,查询字符串不包含在元素中。<from>
因此,您可以尝试使用use-query-string
urlrewrite
还要确保default-match-type
设置<urlrewrite>
为(我使用 STS 中的 Spring MVC 模板,默认情况下regex
设置为wildcard
<urlrewrite use-query-string="true">
<rule match-type="regex">
<from>/OutputFile\?sourceArticleId=([0-9]+)</from>
<to>/app/clipping/get/$1</to>
</rule>
...