Redirection vers site mobile

Résolu
Bonjour,

J'ai presque réussi a faire une redirection automatique de tout les Iphone et autre smartphone vers mon site mobile à un détail.

Comment ça marche à fait un article (https://www.commentcamarche.net/faq/30950-rediriger-un-internaute-vers-un-site-mobile et ils disent d'écrire la règle suivante:

RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
RewriteRule (.*) https://www.monsite.net [R=301,L]

Chose que j'ai fait mais ça pose un problème. ça fait une redirection en boucle de l'adresse https://www.monsite.net et viens un message d'erreur comme quoi il y a trop de redirection

Comment faire cette redirection en évitant le dossier où se situe mon site mobile

Merci d'avance pour vos réponse

4 réponses

  1. Salut,

    Tu peux ajouter une condition avec RewriteCond pour vérifier si la requête ne commence pas par « /mobile »

    RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
    RewriteCond %{REQUEST_URI} !^/mobile
    RewriteRule (.*) https://www.monsite.net [R=301,L]

    La pensée mène le monde.
    1. Bonjour;
      J'ai le même problème mais je redirige sur un sous domaine : mobile.mondomaine.com
      Sur les mobile, impossible d'afficher car trop de redirections.
      Est ce qu'il y a la même astuce pour détecter si de ne suis pas déjà sur le sous domaine ?
      Merci de ta réponse.
    2. Oui, le deuxième RewriteCond dans le code que je donne permet de vérifier qu'on est pas déjà dans le dossier "mobile".
      Il va falloir le remplacer par une condition permettant de vérifier que le domaine ne commence pas par "mobile".

      Voilà le code complet :
      RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
      RewriteCond %{HTTP_HOST} !^mobile
      RewriteRule (.*) http://mobile.example.com/ [R=301,L]
    3. Merci beaucoup beaucoup !!!
      Ça fait 2 jours que je cherche comment faire !!
      Ça marche parfaitement bien ! encore Merci.
    4. Merci Avion-f16 vous m'avez sauvé
  2. Perso rien n'a faire via htaccess...

    Voici mon code :

    RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
    RewriteCond %{HTTP_HOST} !^/mobile
    RewriteRule (.*) http://www.insidebasket.com/mobile.php [R=301,L]

    mais tjs la même erreur, trop de redirections, merci de votre aide...
    1. HTTP_HOST contient l'hôte (IP, domaine, sous-domaine où nom d'hôte (localhost par exemple)) utilisée pour se connecter au serveur.

      Essaie avec ceci :
      RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
      RewriteCond %{REQUEST_URI} !^/mobile\.php
      RewriteRule (.*) https://www.insidebasket.com/mobile.php [R=301,L]
    2. Bonjour, sa ne fonctionne pas pour moi. J'ai mis cela et en me connectant sur mon iPhone je suis toujours sur la page web d'accueil normale.
      Merci de votre aide

      AuthName "redirection page web mobile"
      AuthType Basic
      RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm|googlebot-mobile" [NC]
      RewriteCond %{HTTP_HOST} !^/mobile\.html
      RewriteRule (.*) "http://www.levertsolidaire.com/mobile.html" [R=301,L]
    3. J'ai essayé aussi avec la balise RewriteCond %{REQUEST_URI} !^/mobile\.html mais idem

      AuthName "redirection page web mobile"
      AuthType Basic
      RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm|googlebot-mobile" [NC]
      RewriteCond %{REQUEST_URI} !^/mobile\.html
      RewriteRule (.*) "http://www.levertsolidaire.com/mobile.html" [R=301,L]
  3. Bonjour à tous !

    Y a t-il une erreur de ma part ?

    Voici toute ma page de code /www/.htaccess (OVH) :
    SetEnv PHP_VER 5
    RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm" [NC]
    RewriteCond %{HTTP_HOST} !^mobile
    RewriteRule (.*) http://www.mobile.monsite.com/ [R=301,L]
    1. Salut, oui il y a une erreur.
      Une redirection vers http://www.mobile.monsite.com/ sera provoquée à chaque fois que le nom d'hôte utilisé pour accéder au serveur ne commence pas par "mobile".
      Or, "www.mobile.monsite.com" ne commence pas par "mobile" => redirection en boucle => erreur du navigateur
    2. Réglé ^^
      Merci avion-f16

      RewriteEngine On
      RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm|blackberry" [NC]
      RewriteCond %{HTTP_HOST} !^mobile
      RewriteRule (.*) http://mobile.monsite.com/ [R=301,L]


      Là il fonctionne car j'ai ajouté le On...