我正在尝试设置默认的HTTP到HTTPSredirect。 不知何故,既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过去编写的一个configuration示例。
<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 [email protected] 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>