Назад | Перейти на главную страницу

Перезапись URL с помощью TomCat

Я хочу переписать входящий запрос URL-адреса на TomCat с помощью переписчика Tuckey:

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

знак "?" вопросительный знак не соответствует шаблону регулярного выражения. Как я могу избежать этого или какое для этого правильное решение?

Я не слишком знаком с reg exp в urlrewrite, но вы можете попробовать:

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

Во многих языках экранирующий символ - это \

Обновить:

Согласно докпо умолчанию строка запроса не включается в <from> элемент. Так что вы можете попробовать use-query-string установлен в urlrewrite

Также убедитесь, что default-match-type в <urlrewrite> установлен на regex (Я использую шаблон Spring MVC от STS, и для него установлено значение wildcard по умолчанию

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