2014-02-18 62 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> 
相关问题