2017-02-14 5 views
0

Я пытаюсь настроить IIS на перенаправление всех вызовов www на www-вызовы, включая https Эта первая часть довольно проста, но я не нашел решение, которое также будет работайте, если на ваших привязках включено https.IIS7.5 перенаправление не www на www также с https

Так что я хотел бы как http://domain.com/ и https://domain.com/ и http://www.domain.com/ всем быть перенаправлен:

https://www.domain.com/

любые предложения?

ответ

0
This ended up working for me: 

<rewrite> 
     <rules>         
      <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
       </conditions> 
       <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> 
      </rule> 
     </rules>   
    </rewrite> 
0
<rewrite> 
     <rules> 
     <rule name="Non www HTTP to HTTPS" patternSyntax="ECMAScript" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTPS}" pattern="off" /> 
        <add input="{HTTP_HOST}" pattern="^www" negate="true" /> 
       </conditions> 
       <action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" /> 
      </rule> 
      <rule name="Non www HTTPS to www HTTPS" patternSyntax="ECMAScript" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTPS}" pattern="On" /> 
        <add input="{HTTP_HOST}" pattern="^www" negate="true" /> 
       </conditions> 
       <action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" /> 
      </rule> 
      <rule name="HTTP to HTTPS" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTPS}" pattern="off" /> 
        <add input="{HTTP_HOST}" pattern="www*" /> 
       </conditions> 
       <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" /> 
      </rule> 
     </rules> 
    </rewrite> 
+0

Я до сих пор есть проблемы. Если вы перейдете сюда: https://www.skaljakke.dk/skaljakker-damer все кажется прекрасным, но если вы удалите "www." он потерпит неудачу. Есть ли у вас какие-либо предложения? –

+0

@ user3305839 У вас есть сертификат SSL, который охватывает оба www. и просто domain.com? Веб-сервер должен иметь возможность сначала выполнить рукопожатие, а затем перенаправить. Если у вас нет сертификата, который охватывает оба варианта, браузер обнаруживает исключение безопасности. – Josh

0

@Josh: Ваш ответ работает для первого запроса. В конечном итоге это «https://www», идеально. Но если я удалю "www." с адреса, он будет сбой, как на изображении ниже.

Resulting page in Firefox

Смежные вопросы