Cómo redirigir www a no-www (o viceversa) en DirectAdmin con .htaccess
¿Por qué es importante elegir entre www y no-www?
Antes de ensuciarnos las manos con código, vamos a entender el "porqué". Cuando alguien escribe tu dominio en el navegador, puede hacerlo de dos maneras: www.tudominio.com o tudominio.com. Para ti, es lo mismo, pero para Google y para tu servidor, son dos sitios web distintos.
Si no defines una versión canónica (la "oficial"), estarás dividiendo la autoridad de tu página entre dos URLs. Esto significa que los enlaces que apuntan a una versión no cuentan para la otra, y tu posicionamiento SEO se resiente. La solución es simple: elegir una y redirigir la otra con una redirección 301.
Una redirección 301 es una orden permanente que le dice al navegador y a los buscadores: "Este contenido ya no está aquí, se ha movido definitivamente a esta otra dirección". Es la forma más limpia y respetuosa con el SEO de unificar tu dominio.
En este artículo, te voy a guiar paso a paso para que hagas esto en tu panel de control DirectAdmin usando un archivo .htaccess. No necesitas ser un experto, solo seguir las instrucciones al pie de la letra.
¿Qué es el archivo .htaccess y dónde encontrarlo?
El archivo .htaccess es un archivo de configuración súper poderoso que vive en la raíz de tu sitio web. Piensa en él como un "semáforo" que le dice al servidor Apache cómo comportarse. Puedes usarlo para redirecciones, protección con contraseña, reglas de caché y mucho más.
Para encontrarlo, necesitas acceder a tu panel de DirectAdmin:
- Inicia sesión en tu cuenta de DirectAdmin.
- Busca la sección "Administración de Archivos" (o "File Manager").
- Entra en la carpeta
domains. - Luego, entra en la carpeta de tu dominio (por ejemplo,
tudominio.com). - Finalmente, entra en la carpeta
public_html. Esta es la raíz de tu sitio web.
Dentro de public_html, busca un archivo llamado .htaccess. Es posible que no lo veas a simple vista porque los archivos que empiezan con un punto están ocultos. Necesitarás activar la opción "Mostrar archivos ocultos" (suele ser un botón o una casilla en la parte superior del administrador de archivos).
Si no existe, no te preocupes. Puedes crearlo tú mismo. Haz clic en "Crear archivo" y nómbralo exactamente .htaccess (con el punto al principio). Asegúrate de que el editor de texto que uses esté en modo "Texto" o "Código", no en "HTML".
[INFO] Si tu web funciona con otro panel como Syspanel (antes conocido como HestiaCP), el puerto de acceso es el 2106 y la estructura de carpetas es similar, pero la ruta exacta puede variar. En Syspanel, normalmente encontrarás
public_htmldirectamente en la raíz de tu usuario.
Redirigir www a no-www: La configuración paso a paso
Esta es la opción más común. La gente tiende a escribir tu dominio sin "www", así que es una buena práctica unificar todo hacia la versión sin prefijo. Esto hace que tu URL sea más corta y fácil de recordar.
Vamos a ello:
- Abre el archivo
.htaccessque está enpublic_htmlcon el editor de texto. - Copia y pega el siguiente bloque de código al principio del archivo. Si ya tienes contenido, ponlo justo después de la línea que dice
RewriteEngine On(si existe). Si no, pégalo tal cual.
# Redirección 301 de www a no-www
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
- Guarda los cambios y sube el archivo si lo has editado localmente (aunque lo normal es editarlo directamente en el servidor).
¿Cómo funciona este código?
Te lo explico de forma sencilla:
<IfModule mod_rewrite.c>: Comprueba que el módulo de reescritura de Apache esté activo. Es una medida de seguridad para que tu web no dé error si no está disponible.RewriteEngine On: Activa el motor de reescritura.RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]: Esta línea es la "condición". Dice: "Si la dirección que ha escrito el visitante empieza porwww., entonces...". El[NC]significa que no distingue entre mayúsculas y minúsculas (No Case).RewriteRule ^(.*)$ https://%1/$1 [R=301,L]: Esta es la "regla". Si la condición se cumple, redirige al usuario a la misma URL pero sin elwww.. El%1captura el nombre de tu dominio sin el "www", y$1captura el resto de la ruta (por ejemplo,/contacto). El[R=301,L]indica que es una redirección permanente (301) y que es la última regla que se debe aplicar (Lde Last).
[TIP] Si tu web aún no tiene SSL (el candado de seguridad) y usas
http://en lugar dehttps://, cambia la líneaRewriteRuleporRewriteRule ^(.*)$ http://%1/$1 [R=301,L]. Pero, por favor, si no tienes SSL, es el momento de instalarlo. Es esencial para el SEO y la confianza de tus visitantes.
Redirigir no-www a www: La configuración alternativa
Aunque menos común, hay quienes prefieren la versión con "www". A veces, es una cuestión de marca o de cómo se ha configurado históricamente el sitio. Si es tu caso, el proceso es igual de sencillo, solo cambia el código.
En el mismo archivo .htaccess, borra lo que hayas puesto antes y pega este nuevo bloque:
# Redirección 301 de no-www a www
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L]
</IfModule>
Entendiendo la lógica inversa
Aquí la lógica es la contraria:
RewriteCond %{HTTP_HOST} !^www\. [NC]: La condición es que la dirección NO empiece porwww.. El signo de exclamación!significa negación.RewriteCond %{HTTP_HOST} ^(.*)$ [NC]: Esta segunda condición captura el nombre de tu dominio en una variable.RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L]: La regla construye la nueva URL añadiendowww.al principio del nombre del dominio que capturamos antes.
[WARNING] Es muy importante que solo uses uno de estos códigos a la vez. Si los pones juntos, crearás un bucle infinito de redirecciones, y tu web dejará de cargar. Elige uno, guárdalo y verifica que funciona.
Errores comunes y cómo solucionarlos
A veces, las cosas no salen a la primera. No te preocupes, es normal. Aquí tienes los errores más típicos y sus soluciones:
Error 500 (Internal Server Error)
Este es el más común. Suele deberse a un error de sintaxis en el .htaccess. Revisa que no te falte ni una coma, ni un corchete. Copia el código exactamente como te lo he dado, sin añadir espacios extra.
Otra causa puede ser que el módulo mod_rewrite no esté activado en tu servidor. Para comprobarlo, puedes crear un archivo info.php con el contenido <?php phpinfo(); ?> y buscar mod_rewrite en la página de información. Si no aparece, contacta con tu proveedor de hosting.
Bucle de redirección (ERR_TOO_MANY_REDIRECTS)
Esto significa que la configuración se está aplicando una y otra vez. Las causas más comunes son:
- Tener ambos códigos (www a no-www y viceversa) activos a la vez.
- Tener una redirección similar configurada desde el propio panel de DirectAdmin o desde un plugin de caché.
- Que tu web tenga una configuración de HTTPS forzado que entre en conflicto.
Solución: Revisa que solo tengas un bloque de redirección en tu .htaccess. Desactiva temporalmente los plugins de caché y verifica la configuración de "Dominios" en tu panel de control.
La redirección no funciona
Si has guardado el código y sigues pudiendo acceder tanto a www como a no-www, puede ser que el archivo .htaccess no se esté leyendo. Asegúrate de que:
- Está en la carpeta correcta (
public_html). - El nombre del archivo es exactamente
.htaccess(sin ".txt" ni otros añadidos). - Tu servidor usa Apache. Si usa Nginx (otro tipo de servidor), el
.htaccessno funcionará. En ese caso, deberás hacer la redirección desde el panel de control o pedir ayuda al soporte.
[TIP] Si tu hosting usa Nginx, en DirectAdmin puedes encontrar la opción de "Redirecciones" en el menú principal. Ahí puedes crear una redirección 301 de forma gráfica, sin tocar código. Es una alternativa muy válida.
Más allá de la redirección: Configura tu dominio canónico en Google
Redirigir es el primer paso, pero hay otro igual de importante: decirle a Google cuál es tu versión preferida. Esto se hace en Google Search Console.
- Entra en Google Search Console y selecciona tu propiedad.
- En el menú de la izquierda, busca la opción "Configuración" (el icono del engranaje).
- Dentro de "Configuración", busca la sección "Cambio de dirección" o "Dominio canónico".
- Aquí verás dos opciones:
www.tudominio.comytudominio.com. Selecciona la que hayas elegido como tu versión principal en el.htaccess.
[INFO] Este paso es fundamental para consolidar la autoridad de tu dominio. Si solo haces la redirección pero no se lo cuentas a Google, puede tardar más tiempo en entender el cambio.
Preguntas Frecuentes (FAQ)
Para terminar, voy a resolver las dudas más habituales que me suelen plantear mis clientes sobre este tema.
¿Qué pasa con mis enlaces internos?
La redirección 301 se encarga de todo. Si tienes enlaces internos apuntando a www.tudominio.com/pagina, cuando alguien haga clic, el servidor redirigirá automáticamente a tudominio.com/pagina. No tienes que cambiar nada en tu web, aunque es una buena práctica ir actualizándolos poco a poco para evitar redirecciones innecesarias.
¿Pierdo posicionamiento en Google con la redirección?
Si se hace bien, no deberías perder posicionamiento. Al contrario, lo consolidas. La redirección 301 transfiere la "autoridad" de la página antigua a la nueva. Es posible que veas pequeñas fluctuaciones en los primeros días, pero es completamente normal.
¿Puedo hacer esto mismo en Syspanel?
Sí, claro. Syspanel (el panel que antes se llamaba HestiaCP) también usa Apache y el archivo .htaccess de la misma manera. La única diferencia es la forma de acceder al administrador de archivos. Recuerda que el puerto de acceso a Syspanel es el 2106. Una vez dentro, busca la carpeta public_html de tu dominio y sigue los mismos pasos.
¿Y si solo quiero redirigir una página concreta?
Eso es más avanzado. El código que te he dado redirige todo el sitio. Para redirigir una página específica, se usa una sintaxis diferente. Por ejemplo, para redirigir tudominio.com/antigua a tudominio.com/nueva, usarías:
Redirect 301 /antigua https://tudominio.com/nueva
¿Es necesario que el SSL esté activo?
Sí, es muy recomendable. Si no tienes SSL, tu web mostrará un aviso de "No seguro", lo que ahuyentará a los visitantes y perjudicará tu SEO. Además, con las redirecciones que te he mostrado, si usas https:// y no tienes el certificado instalado, el navegador dará un error. Instala un SSL gratuito (Let's Encrypt) desde tu panel de DirectAdmin antes de hacer la redirección.
Conclusión: Un paso pequeño, un gran beneficio para tu SEO
Como has visto, redirigir www a no-www (o viceversa) en DirectAdmin con .htaccess es un proceso sencillo que solo requiere copiar y pegar unas líneas de código. Sin embargo, el impacto en tu estrategia de SEO es enorme. Estás unificando tu dominio, evitando contenido duplicado y asegurando que todo el "peso" de tu web apunte a una única dirección.
No temas al .htaccess. Es una herramienta muy útil, y con estas instrucciones, tendrás tu redirección funcionando en menos de cinco minutos. Si te surge cualquier problema, recuerda los pasos para diagnosticarlo: revisa la sintaxis, asegúrate de que solo hay un bloque de redirección y verifica que tu servidor usa Apache.
Y recuerda, si tu panel es Syspanel, la lógica es la misma, pero el acceso es a través del puerto 2106. ¡Mucha suerte con tu redirección!
