Detectar iPad y redireccionar

A veces nos conviene que usuarios con ciertos dispositivos visualizen de una forma concreta, diferente al resto, nuestro sitio web. Ya sea a la hora de ofrecer servicios especiales para esos dispositivos, bien la forma de mostrar las páginas web, etc.

En nuestro caso, queremos detectar a los usuarios que visiten nuestros sitios web a través de un iPad.

Para hacer ésto nos fijamos en el mensaje que el agente de usuario envía al servidor para identificarse, que llevará el prefijo User-agent (o User-Agent). Este mensaje contiene cierta información, como el tipo de aplicación que accede a la página web, su versión, el sistema operativo que utiliza, su idioma, etc.

En el caso del iPad, el agente de usuario devolverá el siguiente mensaje:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Con esta información podemos detectar a los usuarios que utilizen un iPad, y redireccionarlos a donde queramos, fácilmente. Vamos a ver 3 formas diferentes de hacerlo:

Mediante el fichero .htaccess

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.dominio.com [R=301]

… que detectará a los usuarios con iPad y los redireccionará al subdominio ipad.dominio.com mediante una redirección de tipo 301.

Mediante JavaScript

function Detectar_iPad() {
if(navigator.userAgent.match(/iPad/i) != null) { return true; }
else { return false; }
}

… donde la función Detectar_iPad() devolverá true en el caso de que el agente de usuario sea un iPad, o false en el caso de que no lo sea.

Mediante PHP

function Detectar_iPad() {
return (bool) strpos($_SERVER[‘HTTP_USER_AGENT‘],‘iPad’);
}

… como en el caso anterior, la función Detectar_iPad() devolverá true en el caso de que el agente de usuario sea un iPad, o false en el caso de que no lo sea.