Vamos por partes.
Google Redirecciona? Si, pero mira lo siguiente, si para cargar una página hecha especialmente para móbiles debes cargar el dominio
www.google.mobi, puede que te redirija a otra parte como dices, pero de alguna manera el proceso de detección de tu dispositivo lo estas haciendo tu.
Otra, si ingresas
http://mail.google.com al pie te aparece la siguiente leyenda:
Cita: Acceso para móviles
Para leer mensajes de Gmail desde tu teléfono móvil, introduce
http://gmail.com/app en el navegador web de tu móvil. Más información
De todas formas si ingreso en particular a
http://www.google.com.ar con un Nokia 6600 voy a una página diseñada para mobiles que al pie reza Mobil Web (Beta), en esta página hay un link a prefeencias donde hay opciones específicas para móviles
Por lo visto Google si redirecciona, pero tambie incluye alternativas y links para acceder a contenido para móvilies, supongo yo que la evolución de los nuevos dispositivos es tan grande y rápida que una detección precisa no debe ser 100% segura.
ME fije tambien en el códogo de dicha página y no es precisamente un WML, es mas bien un HTML con un doctype
Cita: <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
Como sea, redirecciona
Sigo con lo de get_browser(); esta es una funcion de PHP (yo por ahora sigo con 4.3) que requiere que en el PHP.INI este definida la ruta a un archivo llamado tradicionalmente browscape.ini (tiene la misma estructura de los ini de windows, con secciones, claves y valores), el cual usa como una base de datos con las características del navegador, incluido un encabezado http que envía este llamado User_agent, se supone que la cadena que compone este encabezado identifica al sistema operativo y al navegador, pero en realidad puede ser modificado a voluntad.
Aqui tienes el primer problema, el archivo en cuestion y su habilitación en PHP4, corren por cuenta del administrador del server (yo me he tenido que pelear con unos cuantos de los que administran mis host, y no siempre con éxito, para que lo agreguen), un sencillo ejemplo del uso sería
Código PHP:
<html>
<head>
<title>Uso de get_browser();</title>
</head>
<body>
<?php
$browser = get_browser();
foreach ($browser as $caacteristica => $valor) {
print "<b>$caracteristica</b> $valor <br />\n";
}
?>
</body>
</html>
Eso te va a sacar en pantalla algo así (en Firefox por ejemplo)
Cita: browser_name_regex ^mozilla/5\.0 (windows; .*; windows nt 5\.1; .*; rv:1\.8.*) gecko/.* firefox/2\.0.*$
browser_name_pattern Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.8*) Gecko/* Firefox/2.0*
parent Firefox 2.0
platform WinXP
win32 1
browser Firefox
version 2.0
majorver 2
frames 1
iframes 1
tables 1
cookies 1
javaapplets 1
javascript 1
css 2
cssversion 2
supportscss 1
minorver 0
alpha
beta
win16
win64
backgroundsounds
authenticodeupdate
cdf
vbscript
activexcontrols
stripper
isbanned
wap
ismobiledevice
issyndicationreader
crawler
aol
aolversion 0
netclr
clrversion 0
Ahora veamos que aparece si uso el Nokia 6600
Cita: browser_name_regex ^nokia..../.* symbianos/.* series60/.*$
browser_name_pattern Nokia????/* SymbianOS/* Series60/*
parent Nokia
platform SymbianOS
frames 1
javascript 1
browser Nokia
tables 1
cookies 1
wap 1
ismobiledevice 1
version 0
majorver 0
minorver 0
alpha
beta
win16
win32
win64
iframes
backgroundsounds
authenticodeupdate
cdf
vbscript
javaapplets
activexcontrols
stripper
isbanned
issyndicationreader
crawler
css 0
cssversion 0
supportscss
aol
aolversion 0
netclr
clrversion 0
Como ves tienes muchas variables de las cuales extraer las capacidades del dispositivo y así hacer tus páginas.
Para terminar hay algo fundamental, de dónde obtengo y como actualizar el browscap.ini (fijate bien que hay versiones para php y versiones para asp asp.net y IIS) , bueno en principio visita
http://browsers.garykeith.com/downloads.asp ahi también, aunque st oya es mas avanzado te indican recursos para construir tu propio browscap.ini y como accederlo aunque el administrador de tu server no lo quiera habilitar...
Te advierto que el browscap tiene definidos decenas de navegadores y versiones, quizás se excede de preciso,
Creo que con lo expuesto tienes para empezar
Saludos