Redirection vers site mobile

Résolu
isocolt Messages postés 27 Statut Membre -  
 pixart -
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. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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.
    3
    1. M@ndine
       
      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.
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      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]
      0
    3. M@ndine
       
      Merci beaucoup beaucoup !!!
      Ça fait 2 jours que je cherche comment faire !!
      Ça marche parfaitement bien ! encore Merci.
      0
    4. pixart
       
      Merci Avion-f16 vous m'avez sauvé
      0
  2. isocolt Messages postés 27 Statut Membre 2
     
    Super, ça marche

    Merci beaucoup avion-f16
    0
  3. insidebasket
     
    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...
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      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]
      0
    2. XavierHamelin Messages postés 2 Statut Membre
       
      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]
      0
    3. XavierHamelin Messages postés 2 Statut Membre
       
      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]
      0
  4. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    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]
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      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
      0
    2. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
       
      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...
      0