redirecionando http para https excluindo a consulta do servidor pelo endereço ip

1

Como posso redirecionar todo o tráfego de link para o link mas não quero redirecionar o link para o link (dado que 1.2.3.4 é o endereço IP de www.example.com). A seguinte regra irá redirecionar infelizmente ambos

<rewrite>
    <rules>
        <rule name="HTTP to HTTPS Redirect" enabled="true" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Obrigado antecipadamente.

    
por MIrrorMirror 13.09.2017 / 14:50

1 resposta

0

A parte que você deseja modificar é a <match url="(.*)" /> , pois ela decidirá qual URL correspondente (nesse caso, praticamente qualquer coisa) será redirecionada para HTTPS.

O formato é uma expressão regular . Você pode testar diferentes expressões regulares aqui (e outros lugares, mas este é o meu favorito). Então, neste caso, você quer apenas redirecionar o nome de domínio e não o endereço IP.

Vendo que você não precisa de uma expressão de redirecionamento pega-tudo, apenas uma que lida com um determinado nome de domínio http://www.example.com -> https://www.example.com , você provavelmente poderia usar o seletor www\.example\.com regex.

Então tente isto:

<rewrite>
    <rules>
        <rule name="HTTP to HTTPS Redirect" enabled="true" stopProcessing="true">
            <match url="(www\.example\.com)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>
    
por 16.09.2017 / 12:52

Tags