2014-02-18 59 views
0

類似的問題被問了很多次,但我仍然在爲「排除一頁」部分而苦苦掙扎。我基於例如我的解決方案iis url redirect http to non www https但這種解決方案不是100%。它不適用於[https域名.com]到[https域名com](非www的一部分www被提前還原)iis url將http重定向到www https,排除了一頁

我在尋找排除鏈接http_://www.domain.com /電子雜誌/一些,更URL

這裏是我到目前爲止:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Canonical Host Name (HTTP)" stopProcessing="true"> 
        <match url="(.*)" /> 

        <conditions logicalGrouping="MatchAll"> 
         <add input="{HTTPS}" pattern="OFF" /> 
         <add input="{HTTP_HOST}" pattern="(?=^domain\.com)(?=^(.(?!\/ezine\/))*$)" /> 
        </conditions> 

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

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

        <conditions logicalGrouping="MatchAll"> 
         <add input="{HTTPS}" pattern="OFF" /> 
         <add input="{HTTP_HOST}" pattern="(?=^www.domain\.com)(?=^(.(?!\/ezine\/))*$)" /> 
        </conditions> 

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

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

        <conditions logicalGrouping="MatchAll"> 
         <add input="{HTTPS}" pattern="ON" /> 
         <add input="{HTTP_HOST}" pattern="(?=^domain\.com)(?=^(.(?!\/ezine\/))*$)" /> 
        </conditions> 

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

      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

我測試過的正則表達式,它似乎罰款。爲什麼它仍然在http_://www.domain.com/ezine/some-more-url重定向到https_://www.domain.com/ezine/some-more-url。 其他一切工作

對於那些誰問,爲什麼我需要它排除在外:(但是這是一個不同的故事)

Exception: Source:System, Message:The underlying connection was closed: 
Could not establish trust relationship for the SSL/TLS secure channel., 

InnerException:System.Security.Authentication.AuthenticationException: 
The remote certificate is invalid according to the validation procedure. 
at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) at 
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken m 

回答

0

我不知道這是否會成爲有用的任何人,但我finaly排序:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="Canonical Host Name (HTTP)" stopProcessing="true"> 
       <match url="(.*)" /> 

       <conditions logicalGrouping="MatchAll"> 
        <add input="{HTTPS}" pattern="OFF" /> 
        <add input="{HTTP_HOST}" pattern="^domain\.com$" /> 
        <add input="{URL}" pattern="^(.(?!ezine\/))*$" />         
       </conditions> 

       <action type="Redirect" url="http://www.domain.com/{R:1}" redirectType="Permanent" /> 
      </rule> 
      <rule name="Canonical Host Name (HTTPS) www" stopProcessing="true"> 
       <match url="(.*)" /> 

       <conditions logicalGrouping="MatchAll"> 
        <add input="{HTTPS}" pattern="OFF" /> 
        <add input="{HTTP_HOST}" pattern="^www.domain\.com$" /> 
        <add input="{URL}" pattern="^(.(?!ezine\/))*$" />         
       </conditions> 

       <action type="Redirect" url="https://www.domain.com/{R:1}" redirectType="Permanent" /> 
      </rule> 
      <rule name="Canonical Host Name (HTTPS)" stopProcessing="true"> 
       <match url="(.*)" /> 

       <conditions logicalGrouping="MatchAll"> 
        <add input="{HTTPS}" pattern="ON" /> 
        <add input="{HTTP_HOST}" pattern="^domain\.com$" /> 
       </conditions> 

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

     </rules> 
    </rewrite>  
</system.webServer> 
</configuration> 
相關問題