This is probably a duplicate but I can't find quite what I'm looking for. I'd like to redirect http and/or non-www to https+www. This is often cited as a canonical example of when to avoid mod_rewrite
.
My current setup works, using only mod_alias
' Redirect
, but requires an extra VirtualHost
with identical SSL configuration for one case.
Is there any way to simplify this using Redirect
only? Or would that require mod_rewrite
? Thanks!
# Redirect http with or without www
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect / https://www.example.com/
</VirtualHost>
# Redirect https without www
<VirtualHost *:443>
ServerName example.com
Redirect / https://www.example.com/
SSLCertificateFile /etc/ssl/example/cert.pem
SSLCertificateKeyFile /etc/ssl/example/key.pem
</VirtualHost>
# Final destination
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/example
SSLCertificateFile /etc/ssl/example/cert.pem
SSLCertificateKeyFile /etc/ssl/example/key.pem
...
</VirtualHost>