2016-05-08 14 views
0

Ich habe WordPress auf meinem IIS-Server installiert und ich habe auch das SSL-Zertifikat installiert.Verwenden Sie web.config zum Umleiten von HTTP zu HTTPs

Ich habe jeden Thread untersucht, den ich finden konnte, aber immer noch nicht funktionieren konnte. Ich fand this thread von einem Typ auf Apache, der das gleiche Problem hat, aber ich bin auf IIS und weiß nicht, wie man es mit IIS arbeiten lassen.

Ähnlich diesem Thread ist, hier, was passiert:

https://www.example.com arbeitet groß

https://example.com wird Umleitung auf die oben, auch großartig! Hier

ist das Problem:

http://www.example.com ist immer noch zugänglich, nicht gut, da dies zu https://www.example.com

auch umleiten soll:

http://example.com-http://www.example.com umleitet.

Wie kann ich das beheben, so dass alles auf https://www.example.com umgeleitet wird?

ich auf IIS bin und hier ist das, was meine web.config wie folgt aussieht:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
     <rules> 
      <rule name="WordPress Rule" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
       </conditions> 
       <action type="Rewrite" url="index.php" /> 
      </rule> 
     </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+1

Haben Sie [dies] versucht (https://gist.github.com/tkarpinski/1621178)? – MinhTri

+0

Kann ich diese Regel zusätzlich zu der Regel hinzufügen, die bereits existiert? Wenn ja, geht diese neue Regel vor oder nach? – Ciwan

+0

@Ciwan warum nicht versuchen? –

Antwort

2

Dank Dan, das funktionierte.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
     <rules> 
     <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> 
      <rule name="WordPress Rule" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
       </conditions> 
       <action type="Rewrite" url="index.php" /> 
      </rule> 
     </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
0

Zuerst habe ich Sie Erweiterung „URL Rewrite“ auf dem IIS genannt zu bekommen vorschlagen möchten.

Dann sollten Sie Ihren Code mit dem folgenden Code entsprechen:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions logicalGrouping="MatchAny"> 
      <add input="{SERVER_PORT_SECURE}" pattern="^1$" /> 
      <add input="{SERVER_PORT_SECURE}" pattern="^0$" /> 
     </conditions> 
     <action type="Redirect" url="https://{HTTP_HOST}/OWA/" redirectType="Permanent" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 
Verwandte Themen