Forzar SSL usando .htaccess: Ejemplo completo

Forzar SSL usando .htaccess. Si deseamos que nuestra página web cargue con SSL, solo debemos de agregar este código dentro de nuestro fichero .htaacess que tiene que estar en la raíz de nuestro servidor.

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

¿Cómo forzar HTTPS mediante .htaccess? (Actualizado 2021)

Casi la gran mayoría de servidores web vienen ya con un certificado SSL por defecto, caso contrario debemos de instalarlo. Por lo tanto, su sitio web estará disponible a través de estos dos protocolos HTTP y HTTPS.

Sin embargo, es mejor usar solo este último porque cifra y protege los datos de su sitio web.

Para que solo cargue HTTPS podemos usar el archivo .htaccess para forzar la conexión HTTPS de manera predeterminada.

Forzar HTTPS en todo el sitio web

Existen varias formas y una es que se puede realizar a través de .htaccess con redirecciones 301, que redirige permanentemente una URL antigua a una nueva URL. Puede activar la función para forzar HTTPS en todo el tráfico entrante siguiendo estos pasos:

a) Ir al Administrador de archivos en el cPanel de alojamiento y abra .htaccess dentro de la carpeta public_html. Si no puedes localizarlo, asegúrate de crearlo o activar su visualización.
b) Si es un fichero nuevo inserte las siguientes líneas de código debajo de él:

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

c) Por último, guarde los cambios y listo.

IMPORTANTE: Asegúrese de que la línea «RewriteEngine On» no se repita dos veces. En caso de que la línea ya exista, simplemente copie el resto del código sin él.

Forzar HTTPS en un dominio específico

Vamos a suponer que tenemos dos dominios: http://midominio1.com y http://midominio2.com. Sin embargo, Ambos dominios acceden al mismo sitio web, pero solo desea que el primero se redirija a la versión HTTPS. En este caso, debe utilizar el siguiente código:

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

Importante: Asegúrate de reemplazar tu «midominio1» por el dominio real en el que intentas forzar HTTPS.

Forzar HTTPS en una carpeta específica

El archivo .htaccess también se puede utilizar para forzar HTTPS en carpetas específicas. Sin embargo, el archivo debe colocarse en la carpeta que tendrá la conexión HTTPS.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(folder1|folder2|folder3) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Nota: Asegúrese de cambiar las referencias de carpeta a los nombres de directorio reales.

Forzar SSL en WordPress

Si estas usando un CMS como WordPress y ya el servidor tiene instalado un SSL, solo queda forzarlo a que cargue el protocolo cifrado.
Se puede hacer vía fichero .htaacess o caso contrario si no te gusta manejar códigos se puede usar un Plugin llamado «Really Simple SSL» y listo.

CONCLUSIONES

  • Después de realizar los cambios, borre la caché de su navegador e intente conectarse a su sitio a través de HTTP. Si todo se ha añadido correctamente, el navegador le redirigirá a la versión HTTPS sin problemas.
  • Hemos aprendido a editar correctamente su archivo .htaccess y redirigido todo el tráfico HTTP a HTTPS, la versión segura de su sitio web.
  • Dependiendo de la plataforma donde desarrolló su sitio web. Por ejemplo, puede configurar su sitio de WordPress, Joomla o PrestaShop para que funcione con HTTPS usando plugins gratuitos o de pago.

Deja un comentario

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

Scroll al inicio