IIS 7.5 URL Reescreva para HTTPS não está funcionando completamente

0

Ultimamente, instalei um certificado SSL para um site em um servidor Web IIS 7.5. Então eu configurei uma regra de reescrita de URL para reescrever HTTP para HTTPS. Até agora quase tudo está funcionando, exceto por uma coisa. Se eu digitar o domínio e / language como / en, a reescrita do URL não funcionará. O site está sendo executado no Drupal 7. Então, por exemplo, se eu for para a página de contato como www.domain.com/contact, em seguida, o URL é reescrito pelo Drupal para www.domain.com/language (como EN de FR, etc. ) / contato, o idioma é detectado pelo idioma do navegador. Acho que essa reescrita faz com que a regra de reescrita de URLs falhe ou ignore a solicitação de URL e, portanto, nenhum redirecionamento HTTP para HTTPS.

Mas quando eu vou pela primeira vez a página inicial: www.domain.com e, em seguida, clique nos botões do menu para ir para a página de contato tudo funciona. HTTP é redirecionado para HTTPS. Isso porque eu acho que o redirecionamento de idioma já foi feito para que o módulo de reescrita de URL possa lidar com a nova solicitação de reconfiguração de URL.

Esta é a regra que estou usando, tentei muitos resultados diferentes uma vez todos os similair.

  <rule name="HTTP to HTTPS redirect" enabled="false" stopProcessing="true">
    <match url="http://(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
    <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
   </rule>

OR

    <rule name="HTTP to HTTPS redirect2" stopProcessing="true">
      <match url="(.*)" />
      <!-- Require SSL must be OFF in the site settings -->
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
    </rule>
    
por Gforse 18.01.2018 / 08:43

0 respostas