J'ai un codage spécial qui ne fonctionne que pour les navigateurs HTML5 (simple truc de géolocalisation). Je souhaite rediriger les utilisateurs d'iPhone et d'Android vers la version m.example.com de mon site Web. Quelle est la meilleure façon de procéder?
la source
Votre question touche deux parties .. redirection et compatibilité html5.
Redirection
J'utilise le .htaccess suivant:
Pour php, vous pouvez utiliser cette bibliothèque: http://detectmobilebrowsers.mobi/ ... mais je suggère fortement d'utiliser htaccess pour le temps de traitement et la sécurité.
Vous pouvez trouver quelques exemples supplémentaires ici
http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/
Capacités du navigateur
Comme mon téléphone Android n'a aucun problème avec html5 avec le code de géolocalisation. Vous pouvez envisager d'utiliser la bibliothèque Javascript Modernizr pour détecter les capacités du navigateur client visitant votre page.
L'excellent modèle de passe- partout HTML5 utilise modernizr prêt à l' emploi pour répondre à ce type de besoins.
Mon avis est: je suggère d'utiliser la méthode htaccess pour tout sauf les téléphones et navigateurs récents pris en charge par modernizr et de laisser les utilisateurs d'Android et d'iPhone être vérifiés par Modernizr pour le support des fonctionnalités html5 et rediriger le "reste" sur votre version "sans géolocalisation".
Exemple de modernisation:
J'espère que cela t'aides
la source
Si vous codez avec PHP, vous pouvez utiliser
$_SERVER['HTTP_USER_AGENT']
pour vérifier l'en-tête UserAgent, qui est envoyé presque par n'importe quel appareil mobile majeur au script PHP. Ensuite, comparez simplement la valeur de cet en-tête avecsubstr
fuction à tout ce qu'il doit avoir à l'intérieur.Par exemple, les appareils Apple auront toujours des sous-chaînes «iphone» ou «ipad»; Les appareils Android auront toujours «android». Presque chaque appareil mobile aura une sous-chaîne «mobile» répertoriée dans cet en-tête.
la source