2012-04-23 101 views
0

下面是我的web.config文件。我想要將http url自動重定向到https。我嘗試了下面的方法,但它不起作用。 需要在SSL設置中選中需要SSL的IIS7。 任何人都可以幫忙。 感謝重定向http到https asp/iis

<configuration> 
<configSections> 
    <sectionGroup name="system.webServer"> 
     <sectionGroup name="rewrite"> 
      <section name="rewriteMaps" overrideModeDefault="Allow" /> 
      <section name="rules" overrideModeDefault="Allow" /> 
     </sectionGroup> 
    </sectionGroup> 
</configSections> 
<system.webServer> 
    <rewrite> 
     <rules> 
      <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> 
     </rules> 
    </rewrite> 
    <defaultDocument> 
     <files> 
      <add value="index.asp" /> 
     </files> 
    </defaultDocument>  
</system.webServer> 
<system.web> 
    <customErrors mode="Off" />  
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> 
</system.web> 

回答

1

取消選中「要求SSL」 - 對重定向工作,你必須先接受HTTP初始請求。

編輯

第二點。您正在選擇基於HTTPS的輸入。你需要否定這樣的條件:

<conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
    <add input="{HTTPS}" pattern="off" negate="true" /> 
</conditions> 
+0

完成。現在該網站在http中打開並且沒有重定向到https – 2012-04-23 06:59:37

+0

IIS7中是否存在不允許重寫規則工作的設置? – 2012-04-23 07:04:40

+0

@NishantSaini請看我更新的答案。 – McGarnagle 2012-04-23 07:14:13