Переписать карты в IIS7 - как сделать так, чтобы совпадение дополнительно включало косую черту?
Я прочитал 30 лучших хитов Google для нескольких комбинацийIIS rewrite map condition
и так далее, но я не могу найти никакой достойной документации ни на сайте microsoft.com, ни где-либо еще.
У меня есть куча карт перезаписи в IIS7, которые я хотел бы обработать независимо от того, сопровождается ли они косой чертой или нет. Такwww.foo.com/bar
а такжеwww.foo.com/bar/
оба должны соответствовать правилу.
<rewrite>
<rewriteMaps>
<rewriteMap name="ShortURLs">
<add key="/terms" value="/en-us/terms-and-conditions/"/>
<add key="/privacy" value="/en-us/privacy-and-cookies/"/>
<add key="/buy" value="/en-us/where-to-buy/"/>
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Short URL redirects">
<match url="^/?(.+)/?$" />
<conditions>
<add input="{ShortURLs:{REQUEST_URI}}" pattern="(.+)"/>
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="true"/>
</rule>
</rules>
</rewrite>
Теперь это работает очень хорошо, за исключением того, что я могу найти единственный способ сделать/terms/
Соответствие первому ключу в карте перезаписи означает дублирование карты, чтобы она гласила:
<rewriteMap name="ShortURLs">
<add key="/terms" value="/en-us/terms-and-conditions/"/>
<add key="/privacy" value="/en-us/privacy-and-cookies/"/>
<add key="/buy" value="/en-us/where-to-buy/"/>
<add key="/terms/" value="/en-us/terms-and-conditions/"/>
<add key="/privacy/" value="/en-us/privacy-and-cookies/"/>
<add key="/buy/" value="/en-us/where-to-buy/"/>
</rewriteMap>
Это кажется нелепо нелегким, учитывая, что я использую регулярные выражения, чтобы соответствовать им в первую очередь. Добавление/?
на вход условия или шаблон условия, кажется, не работает.
я виделответ вIIS7 переписать карту Regex? что упоминание регулярных выражений не может быть использовано (цитата изИспользование карт перезаписи в модуле перезаписи URL) но, как я уже отмечал, это, по-видимому, относится к конкретным примерам, которые приводятся перед этим текстом, а не к оптовому «это никогда не сработает».
Что мне не хватает? Должны быть какие-то средства сделать это; я что-то упускаю очевидное?