В вопросе перенаправление htaccess на https://www ответ был в основном такой:
RewriteEngine On
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Второй ответ с наивысшим рейтингом гласил, что если у вас есть только один сертифицированный домен, то нужно почитать этот порядок.
В моем случае у меня есть только сертификат SSL для https://www.example.com
, но не для https://example.com
. Я использую вышеуказанные настройки .htaccess
, поэтому я не изменил порядок.
Когда я ввожу http://example.com
, я ожидал, что сначала он будет перенаправлен на https://example.com
(из-за флага L
) и выдаст предупреждение типа
К моему удивлению, это правильно перенаправлено на https://www.example.com
.
Почему это не перенаправляется на https://example.com
и выдает предупреждение?