Redirigir todas las URLs HTTP a HTTPS

21 de mar 2018

En la Web cada vez es más necesario contar con distintas formas de protección y seguridad pues cada vez se hacen mas presentes a su vez, formas de robar información o de ser hackeado.

Es por ello que algunas APIs, sobre todo aquellas que tienen que ver con recibir pagos a través de un sitio web piden como requisito que tu sitio web tenga un certificado SSL (para poder hacer uso del protocolo HTTPS).

Incluso las nuevas versiones de los navegadores más usados (Chrome, Firefox, Safari) te muestran una advertencia cuando entras a un sitio web que no tiene el protocolo HTTPS (es decir que no tiene un certificado SSL).

Si bien, cuando un sitio web no posee SSL, HTTPS, no quiere decir que sea un sitio completamente inseguro pero ya es un "requisito" para la web actual poseer uno.

Para no hacer más largo este post, el otro día estabamos haciendo algunas actualizaciones en nuestro sitio web y decidimos adquirir e instalar nuestro propio certificado SSL para que nuestro sitio web pase a ser un sitio seguro para los navegadores, pero nos encontramos con un pequeño inconveniente y es que cuando ingresabamos a nuestro sitio web este nos enviaba a las urls con HTTP y no con HTTPS por lo que decidimos corregir esto.

¿Como redirigir HTTP a HTTPS?

Esto se hace de una forma sencilla, una vez que tu sitio web ya cuenta con un certificado SSL lo primero es revisar en el directorio raiz de nuestro sitio web (en el hosting o servidor) si tenemos un archivo llamado .htaccess, si lo tenemos lo abrimos para editarlo, ya dependerá de tu forma de trabajar, si trabajas en local primero lo descargas por FTP o por la forma de tu preferencia, si trabajas directamente en el hosting o servidor pues simplemente lo abres.

Si tu sitio web no tiene dicho archivo no te preocupes, basta con crear un archivo de texto vacio, con el bloc de notas o cualquier editor de texto plano y lo nombras .htaccess y lo abres para editarlo.

Lamentablemente no todos los archivos htaccess son siempre iguales por lo que si tu sitio web ya lo tenía es dificil saber el contenido, pero por lo general lucen así:

 

< IfModule mod_rewrite.c >
RewriteEngine On

// Aqui habrá algunas lineas con instrucciones
< / IfModule >

---------------------

Despues de esta linea:
RewriteEngine On

Tenemos que agregar estas 2:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

---------------------

Para que al final te quede algo así:

< IfModule mod_rewrite.c >
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

< / IfModule >

---------------------

Cargas el archivo o lo reemplazas por el anterior y listo, eso sería todo, ahora cada que entremos a nuestro sitio web, desde cualquier URL inmediatamente nos dirigirá al HTTPS y no al HTTP.

Compartir