Во-первых, вам понадобится сертификат SSL, который охватывает как www.xxxx.yyy
, так и xxxx.yyy
.
Ваш провайдер может покрыть оба, если вы получите сертификат за www.xxxx.yyy
, но только xxxx.yyy
, если вы получите его за это. Внимательно прочитайте их условия.
Я прочитал так много предложений о том, как перенаправить, со всевозможными специальными мнениями, с различными результатами, и в основном без каких-либо формальных объяснений.
Конечно, это означает, что нужно перейти к ссылке на Apache .htaccess
и работать с первыми принципами.
Просто повторюсь, главное требование - перенаправить все запросы http (s) на https://xxxx.yyy
.
Как всегда, включите механизм перезаписи:
RewriteEngine On
Для http это:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://xxx.yyy/$1 [L,R]
Однако, сделав то же самое для https (порт = 443), вызовет цикл, который сработает с ошибкой. Мы должны ограничить процесс только для https
и www
. Мы делаем это, предоставляя два RewriteCond
оператора подряд, которые рассматриваются как неявные AND:
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^www[.].+$
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [L,R]
В конце RewriteRule
, [L,R]
говорит механизму перезаписи:
L
= остановиться на этом правиле. То есть, если правило выполняется из-за того, что его условия (RewriteCond
) были выполнены, остановитесь, когда закончите, иначе перейдите к следующему набору условий / правил.
R
= выдать HTTP-перенаправление (код по умолчанию = 302) в браузер, чтобы можно было предпринять пользовательские или автоматические действия для обновления закладок, чтобы они всегда использовали https://xxxx.yyy
в будущем.