Votre question touche deux parties .. redirection et compatibilité html5.
Redirection
J'utilise le .htaccess suivant:
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android" [NC]
RewriteRule ^(.*)$ http://m.example.com/ [L,R=302]
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:
if (Modernizr.geolocation) {
// do stuff
}else{
// propose mobile version
}
J'espère que cela t'aides