Cómo redirigir HTTP a HTTPS en cPanel (301 redirect)
¿Por qué es importante redirigir HTTP a HTTPS?
Cuando instalas un certificado SSL en tu sitio web, este queda disponible tanto en la versión segura (https://) como en la no segura (http://). Si no configuras una redirección, tus visitantes podrían acceder por ambas vías, lo que genera varios problemas:
- Advertencias de seguridad en el navegador: Si alguien entra por HTTP y tu certificado SSL no está bien configurado, verá un aviso de "Conexión no privada".
- Duplicación de contenido: Google ve dos versiones de tu web (una con www y otra sin, o una con http y otra con https). Esto afecta tu posicionamiento SEO, ya que el contenido se reparte entre varias URLs.
- Pérdida de confianza: Los usuarios desconfían de sitios sin candado. Si tu web muestra "No seguro", las tasas de rebote aumentan considerablemente.
- Problemas con formularios y datos sensibles: Si tienes formularios de contacto o login, la información viaja sin cifrar, lo que es un riesgo de seguridad grave.
La solución es sencilla: configurar un 301 redirect (redirección permanente) que envíe automáticamente a cualquier visitante de HTTP a HTTPS. Este código le indica tanto a los navegadores como a los buscadores que la nueva ubicación de tu web es la versión segura.
Requisitos previos antes de empezar
Antes de tocar cualquier archivo, asegúrate de tener:
- Un certificado SSL instalado y activo en tu hosting. Si no lo tienes, muchos proveedores ofrecen Let's Encrypt gratuito desde cPanel. Verifica en "SSL/TLS Status" que tu dominio aparezca como "Installed".
- Acceso a cPanel con permisos de administrador o al menos de gestión de archivos.
- Una copia de seguridad de tu .htaccess. Este archivo es sensible y un error puede tumbar tu web. Descárgalo a tu ordenador antes de modificarlo.
- Saber si usas Cloudflare o un CDN. Si es así, la redirección debería hacerse a nivel de DNS o en el panel de Cloudflare, no en cPanel. Esta guía asume que no usas intermediarios.
Método 1: Redirigir HTTP a HTTPS usando el Editor de .htaccess en cPanel
Esta es la forma más común y recomendada. El archivo .htaccess es un archivo de configuración que Apache lee en cada petición. Con unas líneas de código, puedes forzar el tráfico seguro.
Paso 1: Accede al Administrador de archivos de cPanel
- Inicia sesión en tu cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección Archivos y haz clic en Administrador de archivos.
- Se abrirá una ventana. Selecciona la carpeta raíz de tu sitio web. Normalmente es
public_html(owwwen algunos servidores). - Haz clic en Configuración (esquina superior derecha) y marca la casilla Mostrar archivos ocultos (dotfiles). Esto es crucial, porque el
.htaccessempieza con un punto y está oculto por defecto.
Paso 2: Localiza y edita el archivo .htaccess
- Dentro de
public_html, busca el archivo llamado.htaccess. Si no existe, puedes crearlo haciendo clic en + Archivo y nombrándolo exactamente.htaccess(con el punto al inicio). - Haz clic derecho sobre el archivo y selecciona Editar. Si te pregunta por codificación, elige UTF-8.
- Verás el contenido actual. No lo borres todo: lo que hay ahí (como reglas de WordPress o de otros scripts) es importante.
Paso 3: Añade el código de redirección 301
Al principio del archivo (justo después de RewriteEngine On si existe, o en la primera línea si no hay nada), pega este bloque:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Explicación línea a línea:
RewriteEngine On: Activa el motor de reescritura de Apache.RewriteCond %{HTTPS} off: Comprueba si la conexión NO es segura.RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]: Redirige cualquier URL a su equivalente en HTTPS, usando el mismo dominio y la misma ruta. ElR=301indica que es una redirección permanente.
Paso 4: Guarda y prueba
- Haz clic en Guardar cambios y luego en Cerrar.
- Abre una ventana de incógnito en tu navegador y escribe
http://tudominio.com. Deberías ser redirigido automáticamente ahttps://tudominio.com. - Prueba también con una página interna, por ejemplo
http://tudominio.com/contacto. Debe redirigir ahttps://tudominio.com/contacto.
[INFO] Si tu web se cae o da error 500, es que algo falló. Vuelve a subir la copia de seguridad que descargaste antes y revisa que no haya conflictos con otras reglas.
Método 2: Redirigir usando el Editor de redirecciones de cPanel
cPanel tiene una herramienta gráfica que genera el código por ti. Es ideal si no quieres tocar el .htaccess manualmente.
Paso 1: Busca la herramienta "Redirecciones"
- En cPanel, ve a la sección Dominios y haz clic en Redirecciones.
- Verás un formulario con varias opciones.
Paso 2: Configura la redirección
- En Tipo, elige Permanente (301).
- En Dominio, selecciona tu dominio principal (el que tiene el SSL).
- En Ruta, déjalo vacío si quieres redirigir todo el sitio. Si solo quieres una carpeta, escribe la ruta (ej:
/blog). - En Redirige a, escribe
https://tudominio.com. Si rediriges una ruta concreta, añádela al final (ej:https://tudominio.com/blog). - Marca la casilla Solo redirigir con www si quieres forzar también el www. Si no, déjala sin marcar.
- Haz clic en Guardar.
cPanel creará automáticamente las reglas en el .htaccess. Puedes verificar que el código se ha añadido correctamente revisando el archivo con el método anterior.
[TIP] Esta herramienta es más limitada que editar el archivo manualmente, pero es perfecta para principiantes. Si necesitas reglas más avanzadas (como redirigir solo una página), usa el método manual.
Método 3: Forzar HTTPS con PHP (si no tienes acceso a .htaccess)
En casos excepcionales, como cuando el servidor usa Nginx en lugar de Apache, el .htaccess no funciona. Entonces puedes redirigir desde el propio código PHP.
Crea un archivo llamado redirect.php en la raíz con este contenido:
<?php
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off') {
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect);
exit();
}
?>
Luego, en cada página PHP que quieras proteger, incluye al principio:
<?php include('redirect.php'); ?>
Esto no es tan elegante como el .htaccess, pero funciona. Sin embargo, te recomiendo encarecidamente usar el método 1 o 2 si tu hosting es cPanel, porque son más limpios y rápidos.
Errores comunes y cómo solucionarlos
El bucle infinito de redirección
Síntomas: el navegador dice "Esta página no funciona. Redirigió demasiadas veces".
Causa: El servidor ya está sirviendo HTTPS, pero tu regla sigue redirigiendo porque detecta que la conexión es "off". Esto pasa cuando hay un proxy o balanceador delante.
Solución: Añade esta condición extra al bloque del .htaccess:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
El bloque completo quedaría así:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
El sitio carga pero sin candado (contenido mixto)
Síntomas: la URL es https, pero el navegador muestra un candado con un signo de advertencia.
Causa: Hay recursos (imágenes, CSS, JS) que se cargan por HTTP. Esto es muy común con imágenes insertadas con URLs absolutas.
Solución: Usa un plugin como "Really Simple SSL" si tienes WordPress, o busca en tu base de datos las URLs antiguas y cámbialas. También puedes añadir esto al .htaccess para forzar que los recursos se carguen por HTTPS:
Header always set Content-Security-Policy "upgrade-insecure-requests"
Error 500 tras guardar el .htaccess
Causa: Alguna sintaxis incorrecta o conflicto con módulos.
Solución: Revisa que no haya espacios en blanco al inicio del archivo y que las líneas estén completas. Si no encuentras el error, restaura la copia de seguridad y prueba con el método 2 (Redirecciones de cPanel).
Verificación final: ¿está todo correcto?
Después de aplicar cualquiera de los métodos, haz estas comprobaciones:
- Prueba en incógnito: Escribe
http://tudominio.comyhttp://www.tudominio.com. Ambos deben redirigir a HTTPS. - Prueba con una subpágina:
http://tudominio.com/contactodebe redirigir ahttps://tudominio.com/contacto. - Usa una herramienta online: Ve a "Redirect Checker" (puedes buscar en Google "http to https redirect checker") e introduce tu URL. Debe mostrar un código 301 y la ubicación final.
- Verifica el certificado: Haz clic en el candado del navegador y confirma que el certificado es válido y cubre tu dominio (y el www si lo usas).
Preguntas frecuentes (FAQ)
¿Puedo redirigir solo una página concreta?
Sí. En el .htaccess, en lugar de la regla general, usa:
Redirect 301 /pagina-antigua.html https://tudominio.com/pagina-nueva.html
Esto redirige una URL específica sin afectar al resto.
¿El 301 afecta a mi SEO?
Todo lo contrario. El código 301 es la forma correcta de decirle a Google que tu contenido se ha movido de forma permanente. Es la práctica recomendada y evita penalizaciones por contenido duplicado.
¿Qué pasa si mi hosting usa Syspanel en lugar de cPanel?
Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el proceso es diferente. Accede a Syspanel a través del puerto 2106 (ej: tudominio.com:2106). Dentro, busca la sección de archivos o usa el administrador de archivos para editar el .htaccess en public_html o web/tudominio.com/public_html. La configuración de redirección es la misma, pero el panel cambia.
¿Debo redirigir también el www?
Sí, es muy recomendable. Elige una versión canónica (con o sin www) y redirige la otra. Puedes añadir esta regla extra:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
¿Cuánto tarda en hacer efecto?
La redirección es inmediata, pero los buscadores pueden tardar días o semanas en actualizar sus índices. No te preocupes, es normal.
Conclusión
Redirigir HTTP a HTTPS en cPanel es un proceso sencillo que no debería llevarte más de 10 minutos. La opción más fiable es editar el .htaccess con el bloque que te he mostrado, pero si prefieres evitar el código, la herramienta de Redirecciones de cPanel hace el trabajo por ti.
Recuerda siempre hacer una copia de seguridad antes de modificar archivos sensibles, y prueba en incógnito después de cada cambio. Con esta configuración, tu web será más segura, más confiable para los usuarios y mejor valorada por Google.
Si encuentras algún problema, no dudes en contactar con el soporte de tu hosting. Muchos proveedores incluso ofrecen redirección automática al activar el SSL, así que revisa si ya la tienes activa antes de empezar.
[WARNING] No combines varios métodos a la vez. Si usas la herramienta de cPanel y luego añades manualmente el código, podrías crear reglas duplicadas que causen bucles. Elige uno y pégate a él.
