Перенаправить сайт на SSL с помощью модуля IIS / rewrite - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь перенаправить все URL-адреса сайта в SSL с помощью модуля IIS / rewrite.

У меня есть это правило, которое отлично работает для всех URL-адресов, кроме тех, которые содержат виртуальный каталог / приложение под названием «блог»

 <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>     

Так что перенаправление www.example.com/blog/post/test на https не работает, но www.example.com/pages/demo работает.

И по какой-то причинеwww.example.com/blog перенаправляет, но www.example.com/blog/ нет.

Если кто-то может указать мне правильное направление, пожалуйста.Я ненавижу этот материал переписать / регулярное выражение

1 Ответ

0 голосов
/ 23 мая 2018

Если вы хотите принудительно использовать HTTP к HTTPS для определенного сайта по всем URL-адресам и ненавидеть Regex,

  • Просто создайте правило перезаписи URL на сайте.
  • Используйте подстановочный тип каких немного легко понять.

Это должно работать для HTTP на https

<rewrite>
<rules>
    <rule name="HTTP to HTTPS" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" />
        <conditions>
        <add input="{HTTPS}" pattern="off" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>
</rules>

Обычно, когда я играю с urlrewrite / перенаправлением, я использую перенаправлениевведите «временный», чтобы браузер не кэшировал правило HTTP для HTTPS.Как только я закончу тестирование, я изменю тип перенаправления на постоянный.

...