Problemas ao reescrever todo o tráfego de domínio http e https para o URL baseado em https

1

Estou tentando obter todas as variações

http://www.example.com
http://example.com
https://www.example.com
https://example.com
www.example.com
example.com

para todos redirecionar para

https://www.example.com

Eu tenho o seguinte bloco mod_rewrite:

RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.com$ [NC]
RewriteCond %{HTTP_HOST} example.com$ [NC]
RewriteRule .? https://www.example.com%{REQUEST_URI} [R=301,L]

que parece fazer todos menos um:

https://example.com não é redirecionado para

https://www.example.com como esperado

Se eu removesse a condição:

ReWriteCond %{SERVER_PORT} !^443$

para que isso afete tanto o http quanto o https, ele ainda não se comporta como esperado.

Onde estou indo errado com isso por favor? Obrigado

    
por pi. 14.01.2016 / 14:14

1 resposta

1

Você não pode fazer um redirecionamento SSL para SSL usando .httaccess

Você teria que usar uma entrada VirtualHost separada para cada domínio (desde que seu servidor da Web suporte SNI ):

<VirtualHost *:443>
    ServerName example.com
    Redirect 301 / https://www.example.com
    SSLCertificateFile /etc/ssl/example.com.crt
    SSLCertificateKeyFile /etc/ssl/example.com.key
</VirtualHost>
    
por 14.01.2016 / 14:30