Перепишите URL-адрес iis 7 - https://www.somewhere.com -> https://somewhere.com.
Я пытаюсь перенаправить свой сайт из WWW -> root.
http://www.example.com/ -> http://example.com/ https://www.example.com/ -> https://example.com/
я использовал следующие правила переписывания:
<rule name="CanonicalHostNameHttp" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="http://example.com/{R:1}" />
</rule>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
Это отлично работает:
- Я вхожу на http://www.example.com/, он перенаправляет на http://example.com/
- Затем http://example.com/ перенаправляет на https://example.com/
Это не удается:
- Я вхожу в https://www.example.com
- Он никогда не перенаправляет на https://example.com/
- И в результате это выдает мне ошибку сертификата (потому что мой сертификат, например, example.com не www.example.com)
Что мне не хватает???
1 ответ
Как насчет покупки дешевого сертификата для www.example.com, как упомянуто здесь... неверный сертификат безопасности и доменные имена..., а затем настроить правило для перенаправления https://www.example.com/ -> https://example.com/?
У меня похожая проблема на данный момент. Проблема в том, что я не могу установить второй сертификат, потому что Amazon EC2 ограничивает вас одним публичным IP-адресом на экземпляр, а IP-адрес может быть привязан только к одному сертификату. Единственный вариант, о котором я могу подумать, - это изменить DNS моего неканонизированного домена так, чтобы он указывал на другой сервер, установить второй сертификат и затем перенаправить его на мой экземпляр EC2.