Para redirigir a los usuarios de dispositivos móviles a una versión móvil específica del sitio, se pueden seguir varias estrategias que aprovechan diferentes tecnologías web. Estas estrategias pueden implicar el uso de JavaScript, redirección del lado del servidor y/o configuración en el archivo .htaccess en servidores Apache. A continuación, te explico cómo implementar estas técnicas con ejemplos y referencias a fuentes reconocidas.
Una de las maneras más comunes es usar JavaScript para detectar si el usuario está en un dispositivo móvil y redirigirlo a la versión móvil del sitio. Aquí tienes un ejemplo básico:
```javascript
if (/Mobi|Android/i.test(navigator.userAgent)) {
window.location.href = “https://m.sitioejemplo.com”;
}
```
Este script comprueba el `userAgent` del navegador para ver si contiene palabras clave comunes que indican un dispositivo móvil (como “Mobi” o “Android”). Si encuentra una coincidencia, redirige al usuario a “https://m.sitioejemplo.com”.
Otra opción es manejar la redirección en el lado del servidor. Esto puede ser más eficiente y menos propenso a manipulación por parte del usuario. Aquí hay un ejemplo en PHP:
```php
if (preg_match(‘/(Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i’, $_SERVER[‘HTTP_USER_AGENT’])) {
header(‘Location: https://m.sitioejemplo.com’);
exit();
}
```
En este caso, se usa una expresión regular para buscar señales de que el usuario está en un dispositivo móvil en el `userAgent`. Si se encuentra una coincidencia, se redirige al usuario de inmediato usando la función `header()`.
Si tu sitio está alojado en un servidor Apache, puedes usar un archivo `.htaccess` para realizar la redirección. Aquí tienes un ejemplo:
```apache
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} “(android|blackberry|iphone|ipod|iemobile|mobile|opera mini|ipad)” [NC]
RewriteRule ^$ https://m.sitioejemplo.com [L,R=302]
```
Estas líneas habilitan el motor de reescritura de Apache y establecen una condición (RewriteCond) que comprueba el `userAgent` del navegador del usuario. Si coincide con alguno de los términos específicos de móviles, se realiza la redirección con la regla de reescritura (RewriteRule).
1. Mozilla Developer Network (MDN Web Docs) – Para aprender más sobre el `navigator.userAgent` en JavaScript. [MDN navegador.userAgent](https://developer.mozilla.org/es/docs/Web/API/NavigatorID/userAgent)
2. PHP.net – La documentación oficial de PHP ofrece información detallada sobre las funciones `preg_match` y `header`. [PHP preg_match](https://www.php.net/manual/es/function.preg-match.php) y [PHP header](https://www.php.net/manual/es/function.header.php).
3. Apache.org – La documentación del servidor Apache proporciona información completa sobre el módulo mod_rewrite utilizado en .htaccess. [Apache mod_rewrite](https://httpd.apache.org/docs/current/mod/mod_rewrite.html)
Estas técnicas ayudan a ofrecer una experiencia más adaptada al usuario, mejorando la accesibilidad y la usabilidad del sitio en dispositivos móviles.