Проблема с правилом перезаписи IIS Web.config

#iis #url-rewriting

#iis #url-перезапись

Вопрос:

Недавно я перевел свой веб-сайт с http на https, для которого мой SSL-сертификат www.domain.com и не для domain.com , то есть с www в качестве префикса.

Теперь я столкнулся с проблемой, когда кто-то обращается к моему веб-сайту как http://www.domain.com он перенаправляет на htts://www.domain.com без каких-либо проблем, как я уже упоминал, постоянное перенаправление в web.config переписывает правила, используя следующие правила

 <rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
<match url="(.*)" /> 
<conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{REQUEST_URI}" negate="true" pattern="^/mobile.asmx*" ignoreCase="true" />
</conditions> 
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>   
  </rules>
</rewrite>
  

Однако, когда кто-то пытается http://domain.com Я получаю ошибку сертификата, так как SSL-сертификат предназначен для домена с префиксом www.

Мне нужна помощь в том, что перезапись должна работать следующим образом: если запрос от http://www.domain.com затем переместите его в https://www.domain.com однако, если запрос исходит от http://domain.com затем также переместите его в https://www.domain.com .

Пожалуйста, помогите, если это возможно, поскольку проблема связана с веб-сайтом live.

Ответ №1:

Я понял, все, что мне нужно, это добавить www.

 <action type="Redirect" redirectType="Permanent" url="https://www.{HTTP_HOST}/{R:1}" />
  

Комментарии:

1. Он не работает, просто добавляет www. для всех URL-адресов, вызывающих https://www.www.domain.com