Я хочу перенаправить:
https://example.com => https://www.example.com [не работает] http://example.com => https://www.example.com [не работает] www.example.com => https://www.example.com [рабочий] example.com => https://www.example.com [рабочий]
https://example.com => https://www.example.com [не работает]
http://example.com => https://www.example.com [не работает]
www.example.com => https://www.example.com [рабочий]
example.com => https://www.example.com [рабочий]
.htaccess
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule (.*) https://www.example.com/$1 [R=301,L]
Virtualhost
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/test/public_html ErrorLog /var/www/test/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost _default_:443> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/test/public_html ErrorLog /var/www/test/error.log SSLEngine on SSLCertificateKeyFile /etc/apache2/ssl/test.key SSLCertificateFile /etc/apache2/ssl/test.crt </VirtualHost>
Я работал по этой .htaccess конфигурации:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]