2016-12-26 13 views
2

Я хочу, чтобы перенаправить мой экстранет сайт Https У меня есть следующие web.config правило:URL переписывания web.config с адресом HTTPS

<location path="." inheritInChildApplications="false"> 
    <system.webServer> 
    <rewrite> 
     <rules> 

     <rule name="Redirect to https" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTPS}" pattern="off" `enter code here`ignoreCase="true" /> 
     </conditions> 
     <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" 
        redirectType="Permanent" appendQueryString="false" /> 
     </rule> 
    </rules> 
    </rewrite> 
    </system.webServer> 
</location> 

Проблема возникает потому, что я несколько услуг, размещенных на мой сервер, который является дочерним, и я не хочу, чтобы они перенаправляли тоже, я просто хочу перенаправить сайт, а не службы.

ответ

0

Один из способов сделать это - по умолчанию перенаправить на HTTPS, за исключением указанного списка папок. В приведенном ниже примере папки /service1/ и /service2/ исключены из перенаправления. Все остальное идет на HTTPS.

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="Redirect to https" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions> 
        <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
        <!-- avoid redirection for the following paths --> 
        <add input="{PATH_INFO}" pattern="^/service1/" ignoreCase="true" negate="true" /> 
        <add input="{PATH_INFO}" pattern="^/service2/" ignoreCase="true" negate="true" /> 
       </conditions> 
       <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer>