Redirecionar para https: // com www apache2

3

Estou redirecionando toda a solicitação http: // para https: // usando o arquivo .conf do host apache2 como este.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    #more details here
</VirtualHost>

Isso está funcionando bem e redirecionando todas as solicitações para https: //

Agora, quero redirecionar minha solicitação de não-www para www (então link para link ). Eu tentei adicionar estas linhas abaixo antes e depois do bloco 443 acima. Mas sem sorte: (

<VirtualHost *:443>
    ServerName example.com
    Redirect / https://www.example.com/
</VirtualHost>

Qualquer ideia de como posso ativar isso sem o .htaccess.

Por favor, ajude ..

    
por Riyas Kp 21.06.2015 / 03:39

2 respostas

0

Você deseja adicionar o redirecionamento ao *:443 vhost existente. Algo como isso deve fazer isso:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Coloque isso antes de qualquer outra seção RewriteRule .

    
por 21.06.2015 / 04:41
0

O que você tem já está correto.

E você precisa definir *:443 com NameVirtualHost .

Use esta configuração onde # more details here é toda a sua configuração SSL, como você já tem:

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName www.example.com
    # more details here
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    Redirect / https://www.example.com/
    # more details here
</VirtualHost>

Você precisará dos detalhes do certificado SSL em cada VirtualHost contêiner, mesmo que sejam os mesmos.

Por favor, não use endereços IPv4 adicionais - este caso de uso não requer o consumo de endereços IP adicionais. O HTTP / 1.1 pode manipular vários domínios em um endereço IP, inclusive com SSL.

    
por 18.12.2015 / 19:47