Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Forzar el https (SSL) de la URL mostrada por el navegador web

Esta guía explica cómo redirigir a una versión segura https (SSL) a todos los visitantes de un sitio en Hosting Web de Infomaniak.

 

Prólogo

 

Redirección manual mediante el archivo .htaccess

Requisitos previos

  • Poseer un certificado SSL válido y funcional para el sitio web de Infomaniak.

Luego, modifique o agregue las 3 líneas siguientes al archivo .htaccess del sitio web correspondiente para que todos sus visitantes accedan automáticamente a su versión segura https:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]

Reemplace domain.xyz por su nombre de dominio con la extensión adecuada (.com, .fr, .ch, etc.).

Reemplace la segunda línea del código anterior por RewriteCond %{HTTP:X-Forwarded-Proto} !https en caso de problemas.

 

Con un CMS

La mayoría de las aplicaciones web como WordPress y Joomla poseen extensiones/plugins que redirigen automáticamente a los visitantes de un sitio a su versión segura https.

WordPress

Si utiliza un sistema de gestión de contenido (CMS) como WordPress para realizar su sitio, le recomendamos instalar una extensión para hacer esta redirección:

  1. Guarde los archivos y la base de datos del sitio como precaución.
  2. Instale la extensión Really Simple SSL o similar desde la consola WordPress y actívela.
  3. Los visitantes ahora son redirigidos automáticamente a la versión https del sitio.

Joomla

Reemplace domain.xyz por su nombre de dominio con la extensión adecuada (.com, .fr, .ch, etc.).

  1. Encuentre la línea

    var $live_site ='';

    en el archivo de configuración de Joomla (configuration.php) en el servidor.

  2. Reemplazar por

    var $live_site = 'https://www.domain.xyz';
  3. Agregue tres lineas en su archivo .htaccess en el servidor:

    RewriteEngine On
    RewriteCond %{HTTPS} OFF
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  4. Abra el panel de administración de Joomla en "Sistema - Configuración".
  5. Haga clic en la pestaña "Servidor" y bajo "Forzar SSL" elija "Administración y sitio".
  6. Guarde y los visitantes serán redirigidos automáticamente a la versión https del sitio.

Prestashop

  1. Acceda a los parámetros generales en el back-office de Prestashop, para activar el SSL:
    1. < v1.7 haga clic en "Preferencias" y luego en "Generales"
    2. > v1.7 haga clic en "Configuración de la tienda" y luego en "General"
  2. Active el botón de alternancia (toggle switch) "Activar el SSL" en "SÍ"
  3. Haga clic en "Guardar"
  4. En el mismo lugar, active el botón de alternancia (toggle switch) "Activar el SSL en todo el sitio" en "SÍ".
  5. Haga clic en "Guardar".

En el caso de que no aparezca un candado de seguridad en el navegador o se muestre una advertencia, debe revisar la plantilla o los módulos, ya que a veces estos no son completamente compatibles con el SSL. Su Prestashop carga entonces elementos (imágenes, archivos .css o .js, fuentes de escritura...) en "http" cuando estos deberían cargarse en "https".

Drupal

Consulte este artículo (en inglés) que explica cómo pasar un sitio Drupal de http a https.

 

Soluciones alternativas

Reemplace domain.xyz por su nombre de dominio con la extensión adecuada (.com, .fr, .ch, etc.).

En su archivo .htaccess, para forzar la URL del sitio a ser https:// pero sin www:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]

En el caso de un bucle de redirección, adapte el código anterior por:

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]

En su archivo .htaccess, para forzar la redirección con www

con los subdominios:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]

En el caso de un bucle de redirección, adapte el código anterior por:

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]

y sin los subdominios:

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]

En el caso de un bucle de redirección, adapte el código anterior por:

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]

 

Errores comunes después de una redirección https

Para resolver los problemas comunes que pueden surgir después de redirigir su sitio web a su versión segura https, consulte esta otra guía.


¿Le ha sido útil esta FAQ?