Я использую инструмент под названием ISAPI Rewrite 3 Lite от Helicon Tech («apache .htaccess mod_rewrite совместимый модуль для IIS»).ISAPI rewrite - правило «Перенаправление не-www версии на www» с SSL
Я применил правило «Переадресация не-www версии в www» (от: http://www.helicontech.com/isapi_rewrite/doc/examples.htm#hotlinking). то есть:
RewriteEngine on
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
Это работает нормально, но у меня есть небольшая проблема с предупреждениями браузера при использовании с SSL. Скажите, что мне нужен запрос по URL-адресу: https://MyDomain.com/abc/login.aspx, который перенаправляется на: https://www.MyDomain.com/abc/login.aspx Браузер отобразит предупреждение, подобное: «Сертификат безопасности, представленный на этом веб-сайте, был выпущен для другого адреса веб-сайта». Это имеет смысл, потому что наш сертификат SSL работает только для «www.MyDomain.com» (а не «MyDomain.com»). Если вы нажмете «Продолжить на этот сайт?» он перенаправляет штраф в требуемый URL, и все хорошо.
Мой вопрос: есть ли что-то, что можно сделать, чтобы сделать предупреждение SSL-сертификата браузера НЕ поднятым? (Предпочтительно без необходимости изменения SSL-сертификата).
Спасибо.
EDIT:
Я надеялся, что есть какой-то способ, чтобы получить ISAPI Rewrite, чтобы изменить URL, так что IIS не «видит» запрос: «MyDomain.com», и видит только измененный запрос: «www.MyDomain.com» (так что предупреждение SSL-сертификата не произойдет). Я думал, что это может быть проблема времени. Но похоже, что время событий фиксировано, поэтому IIS всегда проверяет сертификат SSL в контексте исходного запроса? Может ли кто-нибудь подтвердить это?
Обновлен мой ответ в ответ на ваши изменения. –