Redirection vers site mobile

WRInaute discret
Bonjour,

J'ai 2 sites un ".com" classique et un ".mobi" pour les mobiles.
(A ce sujet je l ai crée avec cet outil http://www.wirenode.com/ mais ce n'est pas la question)

Comment rediriger automatiquement les utilisateurs de mobile et autres smartphone vers le site .mobi ?

Merci de vos réponses
 
WRInaute impliqué
J'ai une fonction pour ça ;)

Code:
	function check_mobi() 
	{
		$mobile_browser = '0';
		  
		if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|vodafone|o2|pocket|mobile|pda|psp|treo)/i',strtolower($_SERVER['HTTP_USER_AGENT'])))
		{
			$mobile_browser++;
		}
		
		if(((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'text/vnd.wap.wml')>0) or (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0)) 
			or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']))))
		{
			$mobile_browser++;
		}
		
		$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
		$mobile_agents = array('acs-','alav','alca','amoi','audi','aste','avan','benq','bird','blac','blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt',
								'inno','ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-','maui','maxo','midp','mits','mmef','mobi','mot-','moto',
								'mwbp','nec-','newt','noki','opwv','palm','pana','pant','pdxg','phil','play','pluc','port','prox','qtek','qwap','sage','sams','sany',
								'sch-','sec-','send','seri','sgh-','shar','sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-','tosh','treo','tsm-',
								'upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-');
		
		if(in_array($mobile_ua,$mobile_agents)) $mobile_browser++;
		
		return $mobile_browser;
	}

ensuite tu fais un truc du genre

Code:
<?php 
$is_mobile = check_mobi();
if ($is_mobile) 
{
    header("HTTP/1.1 301 Moved Permanently");
    header ('location: http://site.mobi');
}
?>
 
WRInaute discret
Merci Dharius,

Juste pour bien comprendre, la fonction et le php vont tous les 2 dans le header des pages html ?
 
WRInaute impliqué
Salut,

Déjà c'est du php, et en effet, le mieux est de metttre ces deux morceaux de code à la suite au plus haut dans le header. :)
 
WRInaute discret
Ok merci bcp

Comme les pages sont en html c'est possible de mettre ces 2 fonctions à part dans une fichier php à la racine du site ou eventuellement ds le htaccess (je sais pas si c'est possible) ?

PS : j ai pas trop envie de renommer mes pages en php car elles st toutes référencées en html
 
WRInaute impliqué
non je crois pas que ce soit possible. Tu peux à la limite le faire uniquement sur ta page index.html que tu renommes en index.php... ce sera mieux que rien.
 
WRInaute accro
Si avec un .htaccess il y a moyen de dire que les .html sont du php:
Code:
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
 
Discussions similaires
Haut