Eles não redirecionam porque o primeiro virtualhost que não tem um nome de servidor provavelmente está pegando todos os pedidos.
Sempre defina o ServerName para cada host virtual.
Eu tenho todos os meus domínios em um único arquivo vhosts.conf que tenho rsync em três servidores. Todos os três, por algum motivo, não redirecionam http://example.com
para https://example.com
, mas redirecionam http://example.net
para https://example.net
. Em vez disso, http://example.com
mostrará apenas a página padrão.
Também tenho rewrite
, ssl
, headers
e env
ativados. O Apache foi recarregado e também reiniciado. Debian 8 com Apache2. Eu removi o VirtualHost da porta 443 (SSL) para encurtar o arquivo conf.
# example.com
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
Redirect permanent / https://example.com/
LogLevel info
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
# example.net
<VirtualHost *:80>
ServerName example.net
ServerAlias www.example.net
ServerAdmin [email protected]
Redirect permanent / https://example.net/
LogLevel info
ErrorLog ${APACHE_LOG_DIR}/example.net_error.log
CustomLog ${APACHE_LOG_DIR}/example.net_access.log combined
</VirtualHost>
Eles não redirecionam porque o primeiro virtualhost que não tem um nome de servidor provavelmente está pegando todos os pedidos.
Sempre defina o ServerName para cada host virtual.
Eu tinha ServerAdmin escrito errado em um dos blocos de host virtuais.
Tags apache-2.4 debian-jessie