.htaccess histórico: versión móvil mediante cookie

Cómo funcionaban las redirecciones a un subdominio móvil con mod_rewrite y por qué hoy se prefiere una única web responsive.

Revisado
Compatibilidad
Apache 2.4; patrón histórico, no recomendado para proyectos nuevos
Lectura
2 min
Autor
Gabriel — infinit8

Hubo una etapa en la que la versión móvil vivía en otro subdominio y el usuario podía forzarla con un parámetro. Este patrón de mod_rewrite guardaba la preferencia en una cookie y redirigía según el agente de usuario.

Qué resolvía

  1. Leer ?mobile=1 o ?mobile=0.
  2. Guardar la elección con la bandera CO.
  3. Evitar la redirección cuando existe una preferencia.
  4. Enviar agentes móviles al sitio alternativo.

Fragmento anonimizado para estudiar

Es deliberadamente una muestra incompleta: una regla real debe definir dominio, HTTPS, duración y alcance de la cookie, además de prevenir bucles entre hosts.

.htaccess
RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)mobile=1(&|$)
RewriteRule ^ - [CO=mobile:1:.example.test:1440:/]

RewriteCond %{HTTP_COOKIE} !(^|;\s*)mobile=0(;|$)
RewriteCond %{HTTP_USER_AGENT} "Android|iPhone" [NC]
RewriteRule ^ https://m.example.test%{REQUEST_URI} [R=302,L]
Importante

No detectes capacidades por User-Agent para una web nueva. Empieza con 302 durante las pruebas; un 301 mal diseñado queda cacheado y puede crear bucles difíciles de retirar.

La solución actual

Una URL canónica y un layout responsive evitan duplicar contenido, sesiones, analítica y reglas SEO. Las redirecciones por dispositivo solo tienen sentido cuando dos aplicaciones realmente distintas lo exigen.

Preguntas frecuentes

¿La bandera CO sigue existiendo?

Sí. Apache 2.4 permite establecer cookies desde una regla, aunque eso no convierte la detección por agente de usuario en una arquitectura recomendable.

¿Por qué usar 302 al probar?

Porque es temporal. Cuando el comportamiento, los bucles y el SEO estén verificados se decide si una redirección permanente tiene sentido.

Referencias y revisión

Contenido contrastado con documentación oficial. Comprueba siempre el comportamiento en un entorno de pruebas antes de desplegar cambios.