2017-10-13 8 views
0

J'ai ce site "localhost". Je veux que toutes les pages aient https sauf "localhost/order.aspx? R = 15". problème ici est-il rediriger toutes les pages à HTTPS, y compris "localhost/order.aspx? r = 15". J'ai aussi essayé le modèle comme "^/localhost/order.aspx $"HTTPS annule ne fonctionne pas

<rule name="Force HTTPS" stopProcessing="true"> 
 
    <match url="(.*)" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
    <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
 
    <add input="{REQUEST_URI}" pattern="(order.*)" ignoreCase="true" negate="true" /> 
 
    </conditions> 
 
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
 
    </rule>

Répondre

0

donc je l'ai fixé. Effacer le cache du navigateur, comme souvent le navigateur temporel se souvient du chemin HTTPS. et essaie de récupérer le HTTPS même si vous fournissez uniquement du HTTP. Je vais recommander d'utiliser IE pour tester cela.

Mettez à jour la règle de la manière suivante.

<rule name="NoSSL - folder" enabled="true" stopProcessing="true"> 
 
    <match url="order.*" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
    </conditions> 
 
    <action type="None" /> 
 
</rule> 
 
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true"> 
 
    <match url="(.*)" /> 
 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
 
     <add input="{HTTPS}" pattern="off" /> 
 
    </conditions> 
 
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" /> 
 
</rule>