IIS7 URL Rewriting: Wie man HTTPS-Protokoll von der neu geschriebenen URL nicht fallen lässt?

Ich bin an einer website arbeiten, verwendet IIS 7 und URL-rewriting-Funktion um eine dauerhafte Umleitung von example.com zu www.example.com sowie umschreiben von ähnlichen domain-Namen für die "Haupt" ein, wie aus www.examples.com zu www.example.com.

Diese rewrite-Regel - siehe unten - hat gut funktioniert für einige Zeit. Jedoch, wir haben vor kurzem Hinzugefügt HTTPS-Unterstützung und bemerkte, dass, wenn Benutzer besuchen Sie eine der URLs umgeschrieben werden www.example.com dann HTTPS gelöscht. Zum Beispiel, wenn ein Benutzer besucht https://example.com Sie umgeleitet, um http://www.example.com, während wir möchten, dass Sie gesendet werden, um https://www.example.com.

Hier ist die rewrite-Regel von Interesse (im Web.Konfiguration):

<rule name="Canonical Host Name" stopProcessing="true">
    <match url="(.*)" />

    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^example\.com$" />
        <add input="{HTTP_HOST}" pattern="^(www\.)?example\.net$" />
        <add input="{HTTP_HOST}" pattern="^(www\.)?example\.info$" />
        <add input="{HTTP_HOST}" pattern="^(www\.)?examples\.com$" />
    </conditions>

    <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
</rule>

Wie Sie sehen können, ist das action-element die url-Attribut Punkte direkt auf http://, so bekomme ich, warum https://example.com weitergeleitet http://www.example.com. Meine Frage ist, wie kann ich dieses Problem beheben? Ich habe versucht (naiv) , legen Sie einfach das http://Teil der url-Attribut, aber das hat nicht funktioniert.

Kommentar zu dem Problem
Es scheint, dass einfach verlassen, HTTP:// aus der redirect-URL bewirkt, dass IIS 7.5 verwenden, die eingehende Anfrage zu Protokoll. Kommentarautor: HABO

InformationsquelleAutor der Frage Scott Mitchell | 2010-04-09

Schreibe einen Kommentar