使用 TomCat 进行 URL 重写

使用 TomCat 进行 URL 重写

我希望使用 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-stringurlrewrite

还要确保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>
...

相关内容