There was a problem loading the comments.

Cómo redirigir HTTP a HTTPS con .htaccess

Support Portal  »  Knowledgebase  »  Viewing Article

  Print
La mayoría de navegadores muestran un aviso de seguridad cuando se intenta acceder a sitios web que no tienen un certificado SSL instalado. Sin estos certificados, tu página web se muestra como insegura, por eso, para dar mayor confianza, accesibilidad y cumplir con los requerimientos de seguridad actuales, utilizarlos es absolutamente necesario. Además, es muy importante redireccionar correctamente el tráfico HTTP a HTTPS.

¿Qué es SSL?

SSL (Secure Sockets Layer en inglés), es un protocolo de seguridad para establecer comunicaciones encriptadas entre varios dispositivos, por ejemplo, un servidor web y un navegador. El uso de SSL, garantiza que toda la información transmitida entre el servidor web y el navegador, se mantiene encriptada, y por tanto, segura.

Para poder realizar una conexión SSL, es necesario utilizar un certificado SSL, por ejemplo un certificado gratuito Let's Encrypt o un certificado comercial Sectigo o Digicert. Puedes contactar con nuestro servicio de soporte si necesitas uno. 

¿Qué es HTTPS?

Las comunicaciones entre el servidor web y el navegador, se realizan típicamente mediante el protocolo HTTP cuando no están encriptadas. Este protocolo permite a un navegador, establecer la conexión con el servidor, y solicitar un determinado recurso, o enviar determinada información al servidor. Del mismo modo, permite al servidor contestar al navegador y facilitarle la información solicitada, o recibir los datos que le envían (como los datos que enviamos en un formulario de contacto).

Con la necesidad de utilizar comunicaciones encriptadas, aparece HTTPS, que simplemente es el mismo protocolo HTTP pero utilizando el protocolo de encriptación SSL, por lo que esos mismos mensajes HTTP que se enviaban sin encriptar, se enviarán encriptados al servidor. Para hacer eso, se utiliza un puerto de comunicaciones diferente (en HTTPS el puerto estándar es el 443 en lugar del puerto 80 de HTTP). De forma que podemos definir HTTPS como el protocolo HTTP seguro.

Para forzar que todo el tráfico que llega a tu web, lo haga utilizando el protocolo HTTPS, hay varias formas de hacerlo, bien mediante un cambio de configuración en el servidor, o bien mediante un fichero especial llamado .htaccess

En este tutorial, vamos a decantarnos por la utilización del fichero .htaccess para hacer esta configuración.

Modificación del fichero .htaccess

En un fichero .htaccess se pueden incluir varias instrucciones o directivas para indicarle al servidor web como comportarse en determinados escenarios, o como funciona tu página web. Las directivas más comunes en los ficheros .htaccess son: redirecciones y reescritura de URL.

Formas en las que podemos editar un fichero .htaccess

Podemos editar nuestro fichero .htaccess de muchas formas, las más comunes son:
  • Editar el fichero en nuestro ordenador con nuestro editor favorito, y subir el fichero una vez terminado al servidor utilizando FTP.
  • Utilizar un cliente de FTP que nos permita la edición de ficheros en línea.
  • Conectar por SSH al servidor y editar el fichero directamente en el servidor.
  • Utilizar el gestor de archivos de cPanel para editar el fichero desde nuestro navegador.

Por comodidad y sencillez, nosotros nos vamos a decantar por utilizar el gestor de archivos de cPanel que incluimos en todos los planes de hosting compartido, pero, si utilizas otro plan de alojamiento, o estás en otro proveedor, puedes usar el medio que prefieras.

Editando el fichero .htaccess en el gestor de archivos de cPanel

IMPORTANTE: Antes de continuar, asegúrate de tener una copia de los archivos que vayas a modificar por si algo sale mal.

  1. Entra en cPanel (https://tudominio.com/cpanel)
  2. En la sección de "Archivos", selecciona "Administrador de archivos" y haz doble click sobre la carpeta "public_html"
  3. Asegúrate que en el botón de "Configuración" está marcada la casilla de verificación de "Mostrar archivos ocultos"
  4. Busca el fichero .htaccess que aparecerá en la lista de ficheros, y selecciónalo con el ratón. En caso de que este archivo no exista, haz click sobre la opción de "+ Archivo" y cuando te pregunte el nombre escribe .htaccess (importante el punto que hay delante)
  5. Una vez seleccionado, escoge de las opciones de la barra de menús, el botón de "Editar" y de la ventana que se te abrirá, selecciona el botón "Editar" de nuevo.
  6. Modifica el fichero con las instrucciones que pondremos a continuación, y haz click sobre el botón de "Guardar cambios"

Redirigiendo HTTP a HTTPS

Te exponemos dos posibilidades de redirección, para que puedas añadir el código a tu fichero .htaccess que más te convenga:

1. Redirigir todo el tráfico web
En este caso, todo el tráfico que llegue a tu página web por HTTP, se redirigirá automáticamente a HTTPS, si tu dominio es tudominio.com:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ <a href="https://www.tudominio.com/%241">https://www.tudominio.com/$1</a> [R,L]

2. Redirigir solo una carpeta en concreto
En este caso, solo se redirigirá a HTTPS el tráfico HTTP que llegue a una determinada carpeta, si tu dominio es tudominio.com y la carpeta se llama "directorio":

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} directorio

RewriteRule ^(.*)$ <a href="https://www.tudominio.com/directorio/%241">https://www.tudominio.com/directorio/$1</a> [R,L]


NOTA: Recuerda cambiar tudominio.com y "directorio" por los valores que correspondan en tu caso.

Share via

Related Articles

© IUKANET SERVEIS SL