comment rediriger vers la version mobile UNE SEULE FOIS?

WRInaute occasionnel
bonjour à tous,
je n'a pas trouvé sur le sommaire de chapitre special sur les sites mobiles. j'espere qu'ici ma question est à la bonne place... :?:

J'ai fait une version mobile de mon site ( http://www.casasierrasalamanca.com ) avec un sous domaine ( http://www.movil.casasierrasalamanca.com ) , j'avais mis (jusquà aujourd'hui) une redirection sur la page index pour que si un portable ou tablette etaient detecté, il soit redirigé vers la version mobile. jusque là ça marche. impeccable...

Mais je veux laisser l'option aux visiteurs mobile, de voir la version classique. J'ai donc un bouton "voir la version classique" sur le site mobile.
Le problème ,c'est qu'avec la redirection, on tourne en rond car le visiteur est redirigé de nouveau sur la meme page mobile :?

J'ai cherché sur le web toute la matinée mais je n'ai pas trouvé de solution. Existe-t-elle?
Ou suis-je condamné à ne pas redirectionner les utilisateurs de portables vers la version mobile (car au pire, je prefère qu'il consulte par defaut mon site classique)

Au niveau de la stratégie à adapter, est-ce mieux de rediriger ou d'avoir les 2 versions "autonomes" et sans liens entre elles?
en supposant bien sur que les utilisateurs mobile me trouvent sur google mobile.
Ma page mobile ne peut-elle pas etre prise pour du duplicate-content par google et voir mon site classique sanctionné?

Voilà, beaucoup de doutes mais le mobile version, c'est nouveau pour moi
merci d'avance
 
WRInaute accro
il faut soumettre ta redirection a deux conditions au lieu d'une.
1/ le UA mobile (j'imagine que c'est ça que tu détecte)
2/ une variable de session
 
WRInaute accro
Là, à mon avis (sans plus d'information) tu redirige via le UserAgent (UA) donc quand on se pointe avec un équipement mobile on se retrouve renvoyé sur la version mobile du site.
Tu veux en revanche pouvoir en sortir et ne pas y revenir.

Il faut donc que la redirection soit soumise a deux conditions (sur le site "descktop") :
1/ UA mobile
2/ variable de session

SI (UA"mobile" ET (SESSION"indefinie" ou "mobile")) -> redirection site mobile
SI (UA"mobile" ET SESSION"desktop") -> je ne fait pas de redirection vers site mobile

la variable de SESSION doit être crée par défaut dès la connexion au site et quand tu clique sur le lien "desktop" (sur le site mobile) tu fait varier cette variable. Il faut donc un script intermédiaire pour changer la valeur de la dite variable de session, c'est le script appelé par tes liens de changement de version qui doit faire ce travail.

Il serait bon d'avoir sur la version "desktop" un lien qui permet le retour sur le site mobile aussi (des fois que). Donc un script qui bouge la variable dans l'autre sens (voir un seul script pour les deux en mode bascule).

La variable va suivre le visiteur donc quand il l'aura fait basculer sur "mobile" ou "desktop" les redirection seront active ou pas ce qui lui permettra de ne pas changer de domaine.
 
WRInaute occasionnel
merci beaucoup, je comprends (un peu :) mieux) le script que je dois mettre peut se trouver quelque part? je n'ai aucunes connaissances dans ce langage, j'en ai utilisé quelques uns mais en reproduisant betement des exemples...
 
WRInaute occasionnel
please :)
j'aurais besoin de ces scripts ou un système analogue pour pouvoir redirectionner vers la version mobile et un fois là, revenir si souhaité vers la version normale sans etre une autre fois redirigé vers la version mobile.
il n'y a rien de prefabriquer que l'on peut trouver sur internet?
 
WRInaute occasionnel
je ne trouve pas de scripts pour faire virer une seule fois mes visiteurs sur la version portable et qu'il puisse visiter la version normale.
du coup pour l'instant ma (mes 3 ) version portable ne sert à rien.. :(
personne ne peut m'aider ?
merci
 
WRInaute occasionnel
bonjour de nouveau. je ne sais pas si refaire un topic nouveau pour avoir une solution :(
voilà ce que j'ai mis dans le dossier ht.access
Ça fonctionne.

Maintenant soit la solution des scripts decrits plus haut( mais n'est ce pas en PHP ? chose que je meconnais?), soit une autre, mais comme je n'ai aucune indée de comment faire, si quelqu'un pouvait me donner un coup de main, pour que mes utilisateurs de mobile ne soient pas redirigés de nouveau sur la version mobile quand il clique sur "version complète"

RewriteEngine On
#redirect mobile browsers
RewriteCond %{HTTP_USER_AGENT} ^.*iPhone.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*iPod.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackBerry.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Palm.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*HTC.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*LG.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*MOT.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Nokia.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*SAMSUNG.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*SonyEricsson.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]

RewriteCond %{HTTP_USER_AGENT} ^.*Mobile.*$
RewriteRule ^(.*)$ http://www.movil.casasierrasalamanca.com/index.html [R=301]
 
WRInaute discret
Essaye ça

Script de redirection vers site mobile avec possibilité de retour vers la version classique.
Même si le responsive design reste une meilleure solution

A mettre dans le header de votre page web version classique :

<script type="text/javascript" src="/java/redirection-mobile.js"/> </script>
<script type="text/javascript">
SA.redirection_mobile ({mobile_scheme:"http", mobile_url : "monsitemobile.mobi"});
</script>

le fichier java a créer "redirection-mobile.js"
Code:
window.SA||(window.SA={}),SA.redirection_mobile=function(e){var t=function(e){var t=new Date;return t.setTime(t.getTime()+e),t},n=function(e){if(!e)return;var t=document.location.search,n=t&&t.substring(1).split("&"),r=0,i=n.length;for(;r<i;r++){var s=n[r],o=s&&s.substring(0,s.indexOf("="));if(o===e)return s.substring(s.indexOf("=")+1,s.length)}},r=navigator.userAgent.toLowerCase(),i="false",s="true",o=e||{},u=o.redirection_param||"mobile_redirect",a=o.mobile_prefix||"m",f=o.mobile_url,l=o.mobile_scheme?o.mobile_scheme+":":document.location.protocol,c=document.location.host,h=n(u),p=f||a+"."+(c.match(/^www\./i)?c.substring(4):c),d=o.cookie_hours||1,v=o.keep_path||!1,m=o.keep_query||!1,g=o.append_referrer||!1,y=o.append_referrer_key||"original_referrer",b=o.tablet_host||p,w=!1,E=!1;if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(r)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(r.substr(0,4)))w=!0;if(document.referrer.indexOf(p)>=0||h===i)window.sessionStorage?window.sessionStorage.setItem(u,i):document.cookie=u+"="+i+";expires="+t(36e5*d).toUTCString();var S=window.sessionStorage?window.sessionStorage.getItem(u)===i:!1,x=document.cookie?document.cookie.indexOf(u)>=0:!1;!r.match(/(iPad|SCH-I800|xoom|NOOK|silk|kindle|GT-P7510)/i)||(E=o.tablet_redirection!==s&&!o.tablet_host?!1:!0,w=!1);if((E||w)&&!x&&!S){if(o.beforeredirection_callback&&!o.beforeredirection_callback.call(this))return;var T="";v&&(T+=document.location.pathname),m&&(T+=document.location.search),g&&document.referrer&&(T.indexOf("?")===-1?T+="?":T+="&",T+=y+"="+encodeURIComponent(document.referrer)),E?document.location.href=l+"//"+b+T:w&&(document.location.href=l+"//"+p+T)}};
 
WRInaute occasionnel
Merci beaucoup Xavman 33, je n'etais pas retourné sur le post et entretemps j'ai enlevé ma redirection sur le site mobile à defaut de solution.
je vais essayer celle-ci . j'espere que ça marchera.

...après essaie:

ça a l'air de fonctionner le redirectionnement mais pas apres quand je veux aller sur le sire original, mais j'ai pas un android, c'est un portable normal, je vais me procurer un vrai android pour faire l'essai


merci encore :wink:
 
Nouveau WRInaute
Bonsoir à tous.
Au risque de paraître ridicule.
Le fichier Java à crée est à placer ou??
Je suis très intéresser par une redirection de mon site vers les ipod i pad et tablettes.
Mais peu de connaissances dans ce domaine précis !
Merci
 
WRInaute occasionnel
le fichier java, tu le crées avec ton programme (dreamweaver dans mon cas) et tu le range dans le fichier de script si tu en as un ou sinon ou tuveux. mais ensuite il te faudra changer dans la ligne de code qui va dans le head, la direction qu'a ise par defaut notre aimable ami, par la direction ou se trouve TON fichier, c'est tout.
 
Nouveau WRInaute
Bonjour.

Je tente de revenir sur ce problème.
Mon site a été réalisé avec prestashop. Il est accessible sur mobile mais uniquement sur la page catégorie où sur la page produit mais en direct.
JE PRECISE : Une fois sur la page produit, je ne peux visualiser d'autres produits OU une fois sur la page catégorie, je ne peux accéder à aucun produit.

j'ai bien compris que le problème était lié à une redirection URL mais comment solutionner cela ?

Aucune réponse sur les forums prestashop à ce jour.

Merci pour votre aide.
 
WRInaute occasionnel
reponse question initiale (je n'ai pas lu les posts pas le temps)
on bourre un cookie
et dans le rewrite rule il y a un machin pour verifier la valeur du cookie
Donc venu sur site mobile veut site normal --> cookie
Il revient si cookie redirige pas vers mobile...
 
Discussions similaires
Haut