2014-02-18 6 views
0

비슷한 질문을 여러 번 요청했지만 여전히 "한 페이지 제외"부분으로 어려움을 겪고 있습니다. 내 솔루션을 기반으로합니다. iis url redirect http to non www https이지만이 솔루션은 100 %가 아닙니다. [https 도메인 com]에 [https 도메인 com]이 작동하지 않습니다. (www가 아닌 ​​부분은 www가 일찍 되돌려졌습니다.)iis url http를 한 페이지를 제외하고 https로 리다이렉트

링크 http_ : //www.domain.com을 제외하려고합니다. /의 ezine/몇 가지 - 더 - 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

는 잘 모르겠어요 (그러나 이것은 다른 이야기입니다)하지만 최종 정렬 :

<?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> 
관련 문제