IIS 7 Redirecionamento de HTTP para HTTPS falha com oe comercial na URL

3

IIS 7 no Windows Server 2008 R2 SP1

Eu adicionei a seguinte regra ao meu web.config para redirecionar todos os pedidos recebidos para HTTPS

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  </conditions>
  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>

Ele falha quando o "e" comercial (&) está presente no URL ou no nome do arquivo. Eu olhei para algumas das soluções oferecidas e não estou interessado em permitir caracteres especiais através do registro. Existe uma maneira de realizar uma reescrita para codificar o "e" comercial em & ou% 26 antes da regra de redirecionamento? A regra de redirecionamento HTTPS usa o URL original ou a versão recém-reescrita / codificada?

    
por David Buell 04.12.2014 / 21:40

1 resposta

0

Você precisa usar o parâmetro [NE]

<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" [NE] />

    
por 29.05.2015 / 19:33