2016-05-08 97 views
0

我在我的IIS服務器上安裝了WordPress,並且我還安裝了SSL證書。使用web.config將HTTP重定向到HTTP

我已經研究了每個線程,我可以找到這個,但仍然無法得到它的工作。我發現this thread來自Apache上一個面臨同樣問題的人,但我在IIS上,不知道如何使它與IIS一起工作。

該線程類似,這裏是發生了什麼:

https://www.example.com是偉大的工作

https://example.com被重定向到上面,也很大!

這裏的問題是:

http://www.example.com仍然是可以訪問,沒有好,因爲這應該重定向到https://www.example.com

另外:

http://example.com重定向到http://www.example.com

我該如何解決這個問題,讓它全部重定向到https://www.example.com

我在IIS上,這裏是我的web.config是什麼樣子:

<?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

你試過[這個](https://gist.github.com/tkarpinski/1621178)嗎? – MinhTri

+0

除了已經存在的規則之外,我還會添加該規則嗎?如果是,那麼新的規則是在之前還是之後? – Ciwan

+0

@Ciwan爲什麼不試試? –

回答

2

感謝Dan,這個工作。

<?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

首先,我想建議你得到伸展你的IIS稱爲「URL Rewrite」。

然後,你應該用下面的代碼滿足你的代碼:

<?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>