Regel auf HTTPS umschreiben, außer bei localhost
Ich bin mit der Antwort die hier gegeben werden als Grundlage für den Versuch, fügen Sie eine rewrite-Regel auf meine web.config-Datei. Ich möchte es passend zu jeder url, die läuft nicht auf localhost, um zu erzwingen, https.
Hier ist, was ich jetzt haben:
<system.webServer>
<rewrite> <!-- force https - https://stackoverflow.com/a/15119044/51 -->
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="^((?!localhost).)*$"/>
<conditions>
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
</rule>
</rules>
</rewrite>
</system.webServer>
Ich bin versucht, einen negative lookaround, um nur die match-url ' s, die nicht "localhost" in der url. Aber das wird nicht funktionieren.
So, wie sollte diese Regel eingerichtet werden, um nur umschreiben, nicht-localhost-url ' s???
InformationsquelleAutor der Frage Yaakov Ellis | 2014-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese Bedingung:
Mit einem
negate
Zustand gegen dielocalhost
Muster sollten den trick tun.InformationsquelleAutor der Antwort anubhava
Hinzufügen anubhava ist Antwort, können Sie ersetzen Sie das element hinzufügen, für "localhost" mit folgenden 2 Einträgen gerecht zu werden, sowohl localhost und 127.0.0.1 mit optionalen ports e.g localhost:59400, das ist der Fall, wenn das debugging mit visual studio und IIS
Mit der ursprünglichen Antwort, localhost:123 wäre auf https umgeleitet, die möglicherweise nicht erwünscht.
InformationsquelleAutor der Antwort Sam Sippe