Модуль IIS Rewrite не перенаправляет при первой загрузке страницы - PullRequest
0 голосов
/ 04 июня 2019

Я использую IIS 6.2 для размещения веб-сайта, и я настроил модуль перезаписи для автоматического перенаправления HTTP-запросов в HTTP. Используя браузер в режиме инкогнито, когда я запрашиваю версию http: //, он не перенаправляет на версию HTTP. Затем, когда я перезагружаю страницу, я правильно получаю версию HTTP.

Я пробовал оба с appendQueryString true и false.

Вот моя часть перезаписи web.config:

<rewrite>
  <rules>
    <rule name="HTTPS force" enabled="false" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

Я ожидаю, что каждый запрос будет обрабатываться как HTTP. Я не хотел бы видеть «Не безопасно» на вкладке браузера.

1 Ответ

1 голос
/ 06 июня 2019

пожалуйста, проверьте ваше правило. Я думаю, что это не включено. используйте приведенное ниже правило:

<rule name="Force SSL" enabled="true" stopProcessing="true"> 
   <match url="(.*)" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTPS}" pattern="off" /> 
      </conditions>
   <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="true" redirectType="Permanent" />
</rule>` 

также, включите добавление строки запроса, иначе это правило не добавит значение строки запроса в URL.

С уважением, Jalpa

...