Я пытаюсь настроить перенаправление HTTP на HTTPS по умолчанию. Как-то ни mod_rewrite
ни Redirect
работай. Я упускаю что-то очевидное?
Listen 80
Listen 443
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
Redirect ^/$ https://www.example.com
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
SSLEngine on
SSLCertificateFile "/etc/ssl/certs/example.com.pem"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
<Directory "/web/www.example.com">
allow from all
Options -Indexes
</Directory>
#php_admin_flag safe_mode Off
php_admin_value open_basedir /tmp/:/web/www.example.com
DocumentRoot /web/www.example.com
</VirtualHost>
Вот пример конфигурации, которую я написал в прошлом, используя mod_rewrite.
<VirtualHost *:80>
ServerName www.foo.com
ServerAlias foo.com
RewriteEngine on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin admin@foo.com
ServerName www.foo.com
ServerAlias foo.com
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/apache2/ssl/www.foo.com/foo_com.crt
SSLCertificateKeyFile /etc/apache2/ssl/www.foo.com/foo_com.key
SSLCertificateChainFile /etc/apache2/ssl/www.foo.com/intermediate.crt
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/foo.com/public_html
</VirtualHost>