Você precisa usar o parâmetro [NE]
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" [NE] />
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?
Você precisa usar o parâmetro [NE]
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" [NE] />
Tags redirect rewrite iis iis-7 web.config