web-dev-qa-db-fra.com

Comment écririez-vous une règle de redirection http vers https pour web.config sur IIS8 qui irait directement au domaine préféré avec www.

J'ai un site que nous venons d'installer avec SSL et une règle de redirection configurée dans web.config. Nous utilisons également le www. comme domaine préféré. Le problème que j'ai est que je veux sauter l'étape intermédiaire de la redirection.

Ce qui se passe maintenant, c’est que si vous entrez http://example.com, il redirige d’abord vers https://example.com, puis à nouveau vers https://www.example.com.

Comment puis-je configurer la configuration pour qu'elle redirige directement de http://example.com vers https://www.example.com?

Voici la règle que j'utilise maintenant dans mon web.config.

<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
        <match url="(.*)" /> 
        <conditions> 
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions> 
        <action type="Redirect" redirectType="Permanent" url="https://{HTTP_Host}/{R:1}" />
</rule> 
2
baumgardc

J'ai trouvé une réponse à une autre question que j'ai essayée et qui semble avoir fonctionné. S'il existe une meilleure solution, veuillez également fournir votre solution.

<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAny">
  <add input="{HTTP_Host}" pattern="^[^www]" />
  <add input="{HTTPS}" pattern="off" />
  </conditions>
  <action type="Redirect" url="https://www.example.com/{R:1}" 
appendQueryString="true" redirectType="Permanent" />
</rule>
1
baumgardc