htacces erreur redirection

Répondre
kyrandiane
le 01/07/2011 à 17:11
kyrandiane
Bonjour,

J'ai fait un sous domaine pour les mobils.

Dc je veux mettre une redirection sur certains user-agent et ca marche pas.

Pouvez vous me dire où est mon erreur svp merci

#redirection mobile

RewriteCond %{REQUEST_URI} !^/MONSITE.fr/*$

RewriteCond %{REQUEST_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]

RewriteRule ^(.*)$ /mobi.voyance.MONSITE.fr/ [R=301,L]

En plus je je voudrais être sure que c'est la bonne formule pour que toutes les pages soint renvoyées à la page identique dans le sous domaine. Faut pas qu'à chaque changement de page il me ramène les visiteurs à l 'index.

(Plus tard je serais bonne, parce que je m'y collerais vraiment le jour où on pourra programmer sans jouer avec la touche majuscule sans arrêt)

Merci de votre aide
Kyrandiane
LupusMic
le 06/07/2011 à 23:34
LupusMic
Alors tu ne seras jamais bonne, car 'A' et 'a' seront toujours différents :p

Tu as un problème au niveau de ton expression régulière :
RewriteCond %{REQUEST_URI} !^/MONSITE.fr/*$


Devrait être :
RewriteCond %{REQUEST_URI} !^MONSITE.fr/.*$


Ceci dit, pourquoi utiliser un sous-domaine lorsqu'il suffit de charger les bons templates de ton application en fonction du UA ?

Quelque chose dans ce goût là :
<?php
// Fonction utilitaire pour déterminer si le client web est bien un périphérique mobile
funtion is_mobile()
{
$pattern = '@android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile@' ;
$ret = preg_match($pattern, $_SERVER['HTTP_USER_AGENT']) ;
if($ret === false)
/* Il faut gérer l'erreur*/ ;

return (bool) $ret ;
}

if(is_mobile())
$template = 'templates/portal.wap.php' ;
else
$template = 'templates/portal.html.php' ;

include $template ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours