Cómo redireccionar de http a https tu sitio web

Aplicaciones y utilidades de interés en edición Web

Moderador: F_ECOTAXI

Avatar de Usuario
mbserran
Administrador del Sitio
Administrador del Sitio
Mensajes: 7713
Registrado: 31 Mar 2015, 14:28
Ubicación: Aranjuez
Contactar:
Estado: Desconectado

Cómo redireccionar de http a https tu sitio web

Mensaje por mbserran »

La seguridad en internet es cada vez más importante. El usar mecanismos de encriptación en las comunicaciones entre tu ordenador y el servidor se hace cada vez más común y necesario, ya no sólo para la captura de datos personales o de pago, sino para cualquier otro tipo de interacción. De hecho los usuarios cada vez valoran más los sitios que les permiten ver el famoso color verde en la barra de su navegador:
Imagen

Para hacer esto sin perder nuestro posicionamiento SEO, vamos a hacer uso de las redirecciones del fichero .htaccess. Podéis revisar primero los siguientes posts donde explico cómo funcionan estas redirecciones y la sintaxis del fichero .htaccess:

Cómo funcionan las redirecciones 301
Cómo funciona la sintaxis del fichero .htaccess

Bueno pongámonos manos a la obra.

1.- Lo primero que tenemos que hacer es asegurarnos que tenemos activas las redirecciones en nuestro fichero .htaccess (y en caso de no tener un fichero .htaccess crear uno nuevo con un simple editor de texto y subirlo a la raíz de nuestro dominio). Para ello asegurémonos de tener estas líneas de código al principio del fichero:

Código: Seleccionar todo

Options +FollowSymlinks
RewriteEngine on
Estas líneas permiten que se sigan las redirecciones (vínculos simbólicos) y que se active la funcionalidad en nuestro servidor que permite cambiar las urls en tiempo real antes de ir a ellas (la vamos a usar).

2.- Antes de empezar con nuestros bloques de redirecciones 301 (que seguro que lo tendréis), debéis incluír el siguiente código:

Código: Seleccionar todo

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
¿Qué hace esta cosa?
  • Primero comprueba que el servidor Apache (el que sirve las páginas de nuestro dominio, que espero que sea Apache porque sino todo esto no vale y no es para tí) tenga activado el módulo de reescritura de URLs
  • En segundo lugar comprueba la URL que hayas tecleado en la barra de navegación y mira si no es 'HTTPS' (por eso lo de HTTPS a off)
  • Si se da esa condición entonces aplica el motor de reescritura y cambia la URL. ¿Cómo la deja?
    • a.- Selecciona cualquier URI no vacía '(.*)'
      b.- Monta la nueva URL como protocolo 'https' (https://), seguido del servidor de tu dominio (%{HTTP_HOST}) y por último la URI que buscabas (%{REQUEST_URI}) y aplica una redirección 301 y deja de reescribir con esa condición ([R=301,L]).
3.- A partir de ahí podéis poner el bloque de redirecciones 301 que tuviéseis eso sí, asegurándoos que cambiáis el 'http' por 'https' en ellas (ya que redireccionáis ahorraros un salto). Porque por cierto, Google mira el número de saltos en cadena. No pongáis nunca más de 3. Su GoogleBot no los seguirá y os quedaréis desposicionados.

Bueno fácil no? Espero que os haya gustado. Si es así espero veros en el foro contribuyendo con vuestros propios posts ;)
Responder