blog banner

Redirección de http a https

Una de las acciones que realizo siempre al implantar una web es esta redirección. Son solo dos lineas en un fichero de texto pero imprescindibles hoy en dia

Hace años ya hice un artículo sobre la redirección en IIS pero me faltaba escribir sobre cómo realizarla en un entorno Apache, lo más habitual hoy en día.

¿Por qué es necesario un certificado https?

Hoy en día el disponer de ciertas garantías de seguridad es algo imprescindible para el usuario de la web. Los navegadores enseguida lanzan una alerta y bloquean las páginas inseguras por lo que debemos indicar que nuestra web es fiable y la mejor manera de hacerlo es mediante un certificado https.

Además, en función de la tipología de web (no es lo mismo un blog, que una tienda o que un banco), no sirve cualquier certificado y se requieren de un tipo más avanzado con más garantías de seguridad.

¿Por qué es necesario redirigir de http a https?

Mucho contenido, si no dispone de formularios o acciones críticas es navegable mediante http normal (sin la «s» de «seguro»), lo cual resta garantías de seguridad a nuestra página. Por otro lado, al disponer de dos dirección diferentes de página, dispondríamos de dos copias de la misma página lo cual penalizaría a nivel de SEO, dividiendo la importancia que se le da a esta y penalizando en contenido duplicado.

¿Cómo realizar la redirección de http a https en un servidor Apache?

Esta tarea es muy sencilla de realizar y se trata únicamente de editar un fichero de texto llamado .htaccess que estará ubicado en la carpeta raíz de nuestra página web.

El fichero .htaccess contiene directivas sobre cómo se debe comportar el servidor en ciertas circunstancias, cómo debe servir el contenido y si debe enviar información de algún tipo al usuario cuando accede a las páginas. Con esto quiero decir que indica que un archivo ttf es una fuente, que cuando sirve una imagen le puede indicar al navegador que la retenga en memoria caché cierto tiempo, que el servidor envíe la información comprimida… En fin, un montón de cosas que harán que nuestra web funcione mucho mejor.

Una de estas acciones que permite realizar el fichero .htaccess es redirigir al usuario que accede a una página hacia otra. Y también de un dominio a otro. Y además teniendo en cuenta condiciones… Pues con todo ello podemos generar el siguiente código:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Línea a línea quiere decir que:

Si está el módulo que permite redirecciones
Lo activamos
Si en la petición no está activo el https
Reescribimos la dirección para que vaya a https:// el mismo servidor / la misma ruta [y acaba la instrucción indicando que siempre será así]

El sistema sería este ni más ni menos. Son unas líneas que se pueden copiar tal cual y tener este post en favoritos te ahorrará un buen rato de búsqueda para cada vez que publiques una nueva web 😉

Espero que el artículo haya sido de utilidad y, como siempre… ¡los comentarios son bienvenidos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *