#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