Redirigir a https:// con www apache2

Redirigir a https:// con www apache2

Estoy redirigiendo todas las solicitudes http:// a https:// usando un archivo .conf del 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>

Esto funciona bien y redirige todas las solicitudes a https://

Ahora quiero redirigir mi solicitud que no es www a www (para quehttps://ejemplo.comahttps://www.ejemplo.com). Intenté agregar estas líneas a continuación antes y luego después del bloque 443 anterior. Pero no hubo suerte :(

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

¿Alguna idea de cómo puedo habilitar esto sin .htaccess?

Por favor ayuda..

Respuesta1

Desea agregar la redirección al *:443vhost existente. Algo como esto debería hacerlo:

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

Pon eso antes que cualquier otra RewriteRulesección.

Respuesta2

Lo que tienes ya es correcto.

Y necesitas definir *:443con NameVirtualHost.

Utilice esta configuración donde # more details hereestá toda su configuración SSL, como ya tiene:

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>

Necesitará los detalles de su certificado SSL encada VirtualHostcontenedor, incluso si son iguales.

Por favornoutilice direcciones IPv4 adicionales: este caso de uso no requiere consumir direcciones IP adicionales. HTTP/1.1 puede manejar múltiples dominios en una dirección IP, incluso con SSL.

información relacionada