Our Country Sites: Argentina|Brazil|Chile|Mexico|Peru

Redirección a versión móvil

Printer-friendly versionPrinter-friendly versionSend by emailSend by email

Les comparto un breve fragmento de codigo en PHP para redireccionar a la version movil de un sitio web detectando el User Agent del dispositivo que ingresa a la aplicacion.

<?php
$user_agent=$_SERVER['HTTP_USER_AGENT'];
switch(true){
case(eregi('blackberry',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('nokia',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('motorola',$user_agent)||eregi('MOT-',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('sony',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('PSP',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Nintendo',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('LG-',$user_agent)||eregi('LG/',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('LGE',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('HTC',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Alcatel',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('HPiPAQ',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('SAMSUNG',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Huawei',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Sanyo',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Sharp',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Opera Mini',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('Opera Mobile',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('BOLT',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('OPWV-SDK',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('BenQ',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('ipod',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('iphone',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('ipad',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('android',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
case(eregi('webOS',$user_agent));header( 'Location: http://movilweb.com.mx/webapp.php' );break;
default:header( 'Location: http://movilweb.com.mx/intro.html' );break;}
?>

Pueden ver el ejemplo funcionando en

http://movilweb.com.mx

si ingresan desde una PC veran la version Web, si lo hacen desde un dispositivo movil veran la version WAP

AttachmentSize
movilweb68.89 KB

Seria mejor que usaras hojas

Seria mejor que usaras hojas de estilo ( CSS ), para separar la parte visual del codigo, ahora las hojas de estilos tienes mas funcionalidades y los nuevos equipos moviles soportan ahora

Seria mejor que usaras hojas

Seria mejor que usaras hojas de estilo ( CSS ), para separar la parte visual del codigo, ahora las hojas de estilos tienes mas funcionalidades y los nuevos equipos moviles soportan ahora

No solo se trata de que se vea bien

Usar CSS esta bien si solo lo ves desde el punto de vista grafico, detectar el dispositivo a través de código te permite crear variables de sesion para poder ofrecer contenido compatible para cada equipo, y claro está, cargar un css para lograr un look & feel acorde al navegador

tienes razon en lo que

tienes razon en lo que indicas sobre la parte visual, pero mantener muchos codigos php para cada modelo de equipo movil, no es una buena decision, seria mejor agrupar los modelos compatibles, es decir reducir a lo minimo el mantenimiento de codigo redundante.