В VirtualHost для порта 80
Пара точек:
1) Второй RewriteCond
не требуется, %{HTTP_HOST}
всегда будет установлен на что-тоесли вы доберетесь до VirtualHost.
2) ServerAlias example.net www.example.net
.Удалите www.example.net, он уже установлен в ServerName
.
3), чтобы помочь отладить Apache, вы можете поставить LogLevel debug
и попробовать снова.
4) Ваш RewriteRule (.+) http://www.example.net$1 [R=301,L]
должен быть
RewriteRule ^(.*)$ https://www.example.net$1 [R=301,L]
Ваше правило:
- перенаправляет на http.
(.+)
:означает некоторый символ, от 1 до n раз.У вас ничего нет (например, http://www.example.com
, ваше правило никогда не совпадает.
Новое правило обеспечит что-либо, присутствует или нет, после того, как запрашиваемый домен будет добавлен в перенаправление https.
В VirtualHost для порта 443
В порту 443 трафик уже https, поэтому требуется только добавление "www":
RewriteCond %{HTTP_HOST} ^example.net$ [NC]
RewriteRule ^(.*)$ https://www.example.net$1 [R=301,L]
Это добавит только «www», когда запрашиваемый домен https://example.net
.