IIS 8.5 - 301 перенаправление и амперсанд
Я изо всех сил пытаюсь заставить 301 перенаправления работать, когда URL включает амперсанд в iis. Код, который я использую ниже:
<rewrite>
<rules>
<rule name="Redirect rule1 for 301-maps">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{301-maps:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
<rewriteMaps>
<rewriteMap name="301-maps">
<add key="/mobile/product.htm?id=139" value="/" /> << works
<add key="/mobile/product.htm?id=139&subid=1" value="/" /> << fails syntax
1 ответ
Решение
Все, что вам нужно, это использовать &
на месте &
, Ваш URL в карте перезаписи должен быть:
<add key="/mobile/product.htm?id=139&subid=1" value="/" />
В XML вам нужно экранировать следующие 5 символов:
" "
' '
< <
> >
& &