Redirection d'Images - Version mobile

Discussion dans 'URL Rewriting et .htaccess' créé par Zedbar, 22 Août 2018.

  1. Zedbar
    Zedbar Nouveau WRInaute
    Inscrit:
    22 Août 2018
    Messages:
    4
    J'aime reçus:
    0
    Salut à tous,
    J'ai un petit problème avec la redirection d'images sur la version mobile de mon site alors merci d'avance.

    En gros :

    - Les images de mon site (php/mysql) sont dans 1 dossier http://www.xxxxx.com/administration/upload/
    - La version mobile de mon site est sur un sous domaine du type http://m.xxxxx.com

    Donc pour accéder aux images (à partir de la version mobile donc [​IMG]) je fais une redirection via htaccess :

    Code:
    RewriteRule ^http://m.xxxxxx.com/administration/upload/(.*)$ http://www.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    RewriteRule ^http://www.xxxxxx.com/administration/upload/(.*)$ http://m.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    Si je teste, la version mobile, à partir de mon ordi fixe (Firefox, Explorer, Safari), les images des articles apparaissent bien.
    Mais si je teste sur mon mobile (Iphone 7 ou autres), les images n'apparaissent pas ! D'ailleurs lorsque j'analyse la version mobile de mon site avec Google Page Speed, il détecte bien l'erreur concernant ces images...

    J’en déduis que cela vient de ma redirection, mais je ne vois pas quoi faire ! Cela peut-il provenir de mon hébergeur ?

    Merci de votre aide [​IMG]
    @plus
    Zedbar
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 832
    J'aime reçus:
    246
  3. colonies
    colonies WRInaute occasionnel
    Inscrit:
    10 Septembre 2006
    Messages:
    490
    J'aime reçus:
    54
    Ton système a l'air assez bizarre. Normalement, il n'y a pas de raison de faire des 301.
    C'est quoi le principe de ce que tu as fait, au juste ? J'imagine que tu n'as pas ces deux lignes à la suite ?
     
  4. Zedbar
    Zedbar Nouveau WRInaute
    Inscrit:
    22 Août 2018
    Messages:
    4
    J'aime reçus:
    0
    Merci Spout pour le prefixe mais j'avais déjà essayé ;)

    A Colonies, dans mon .htaccess, ne concernant cette redirection, il n'y a en effet que ces 2 lignes.
    Le reste concerne l'url rewritting, la compression, la redirection d'anciennes url et un "script" pour rediriger les visiteurs concernés vers le site mobile...

    <ifmodule mod_rewrite.c="">
    RewriteEngine On
    RewriteRule (.*)\.(css|js|xml|txt|)$ /media.php?file=$1.$2 [L]
    </ifmodule>
    AddType x-mapp-php5 .php
    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    RewriteBase /

    ErrorDocument 404 /404.php
    RewriteRule ^videos/([A-Za-z0-9-]+)/?$ videos-new.php?titre_encoded=$1 [NC,L,QSA] # Soluce2
    RewriteRule ^videos$ medias.php [NC,L] # Sante1

    RewriteRule ^contacts$ contacts.php [NC,L]
    RewriteRule ^conditions-generales$ conditions-generales.php [NC,L]
    RewriteRule ^equipe$ equipe.php [NC,L]

    Redirect permanent http://motocross-history.com/ http://www.motocross-history.com
    RewriteRule ^en/([A-Za-z0-9-]+)/?/([A-Za-z0-9-]+)/?/([A-Za-z0-9-]+)/?$ article-new-en.php?type_encoded=$1&theme_encoded=$2&titre_encoded=$3 [NC,L] # Redir4
    RewriteRule ^([A-Za-z0-9-]+)/?/([A-Za-z0-9-]+)/?/([A-Za-z0-9-]+)/?$ article-new.php?type_encoded=$1&theme_encoded=$2&titre_encoded=$3 [NC,L] # Redir3
    RewriteRule ^([A-Za-z0-9-]+)/?/([A-Za-z0-9-]+)/?$ theme.php?type_encoded=$1&theme_encoded=$2 [NC,L] # Redir2
    RewriteRule ^([A-Za-z0-9-]+)/?$ type.php?type_encoded=$1 [NC,L,QSA] # Redir1

    Redirect 301 /anecdote.php http://www.motocross-history.com/anecdote
    Redirect 301 /edito.php http://www.motocross-history.com/edito
    Redirect 301 /historique.php http://www.motocross-history.com/historique
    Redirect 301 /portrait.php http://www.motocross-history.com/portrait
    Redirect 301 /cross-inter.php http://www.motocross-history.com/cross-inter

    RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|android|palm|googlebot-mobile" [NC]
    RewriteRule (.*) http://m.motocross-history.com/ [R=301,L]

    RewriteRule ^http://m.xxxxxx.com/administration/upload/(.*)$ http://www.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    RewriteRule ^http://www.xxxxxx.com/administration/upload/(.*)$ http://m.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]

    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 year"
    </IfModule>

    Le site n'ayant aucun but commercial ou autres, je me permets de préciser le lien :
    http://m.motocross-history.com

    Or si vous testez le site :
    - A partir d'un ordi (ou Tablette), pas de problème, les images dynamiques (requètes php) sont présentes
    - Mais à partir d"1 Iphone (ou Android, etc...), les images ne s'affichent pas

    Si vous avez une idée ? je suis preneur :)
     
  5. colonies
    colonies WRInaute occasionnel
    Inscrit:
    10 Septembre 2006
    Messages:
    490
    J'aime reçus:
    54
    C'est normal que tu ne voies pas tes images, tu redirige tout vers la home de ton site avec :
    RewriteRule (.*) http://m.motocross-history.com/ [R=301,L]
    Tu voulais mettre
    RewriteRule (.*) http://m.motocross-history.com/$1 [R=301,L]
    Non ? Parce que là, toutes les images sont remplacées par ta home (qui n'est pas une image, donc... rien).

    Je ne sais pas ce que tu voulais faire avec :
    RewriteRule ^http://m.xxxxxx.com/administration/upload/(.*)$http://www.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    RewriteRule ^http://www.xxxxxx.com/administration/upload/(.*)$http://m.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    ... peut-être que tu t'es arrêté en cours, mais en l'état ça ressemble à :
    — si url d'image mobile, redirige vers l'image desktop
    — si url d'image desktop, redirige vers l'image mobile
    ... ça devrait donner des redirections infinies.

    Sinon, au niveau HTML :
    - tu pourrais essayer d'avoir directement les bonnes URL d'images, ça t'éviterait des paquets de redirection qui sont lentes, surtout sur mobile
    - Ta classe CSS wrapper a des dimensions. Vire-les ainsi que la règle d'overflow. Là tu as un site version iPhone premier du nom jusqu'au SE, en 320 de large même sur iPhone 8 Plus, même en mode paysage.
    - tu as des appels à jQuery, mais sans jQuery => bug
    - ta balise HTML devrait être <html lang=fr> et non <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    - en bas de page, tu as un <script language="JavaScript">. Tu sais que l'attribut language est déprécié depuis HTML 4 ? Ça fera 20 ans l'année prochaine (1999) :)

    Bon, les derniers c'est pas très grave, mais tu as un doctype HTML5, une balise html qui prétend que ça va être du XHTML, et un bout de rémanence de HTML 3.2 qui a perduré jusqu'à HTML 4... c'est assez étrange comme cocktail.
     
  6. Zedbar
    Zedbar Nouveau WRInaute
    Inscrit:
    22 Août 2018
    Messages:
    4
    J'aime reçus:
    0
    Merci pour ces précieux conseils :)

    Par contre pour les images, j'ai toujours le même problème avec ton code modifié ?
    Ce que je n'arrive pas à m'expliquer c'est pourquoi on voit les images sur Ordi et pas sur smartphone...

    Côté HTML (et php), ma requète est toute simple, je requête les images dans le dossier du site principale : :
    Code:
    <img src="http://www.motocross-history.com/administration/upload/'.$img.'" alt="'.$titre.'" title="'.$titre.'" id="mainpict"></a>
    Merci de tes lumières :)
     
  7. colonies
    colonies WRInaute occasionnel
    Inscrit:
    10 Septembre 2006
    Messages:
    490
    J'aime reçus:
    54
    Tu devrais plutôt utiliser un chemin relatif :
    Code:
    <img src="/administration/upload/'.$img.'" alt="'.$titre.'" title="'.$titre.'" id="mainpict"></a>
    Comme ça, les images seront chargées depuis le même domaine que la page qui les appelle.


    Pour tes redirections mobiles, par rapport à ton code du premier message, remplace :
    Code:
    RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|android|palm|googlebot-mobile" [NC]  
    RewriteRule (.*) http://m.motocross-history.com/ [R=301,L]
    
    RewriteRule ^http://m.xxxxxx.com/administration/upload/(.*)$http://www.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    RewriteRule ^http://www.xxxxxx.com/administration/upload/(.*)$http://m.xxxxxx.com/administration/upload/$1 [QSA,L,R=301]
    Par :
    Code:
    RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]
    RewriteRule ^$ http://m.motocross-history.com/ [L,R=302]
    
    RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
    RewriteRule ^$ http://www.motocross-history.com/ [L,R=302]
    Adapté de : https://www.howtoforge.com/apache2-...al-web-site-based-on-device-using-mod_rewrite

    Comme ça tu rediriges bien les mobile vers la version mobile, et les desktop vers la version desktop (si quelqu'un a partagé un lien depuis la version mobile et que quelqu'un clique dessus depuis un ordi, par exemple).
    Les 301 ne sont pas adaptées, car ça n'est pas une URL qui a changé, en réalité : deux pages existent bel et bien, et on en change selon le navigateur. Par conséquent, il faudrait aussi ajouter :
    Code:
    Header append Vary User-Agent
    Pour signifier que le contenu renvoyé n'est pas le même en fonction du navigateur.
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 832
    J'aime reçus:
    246
    C'est un chemin absolu aussi, mais on se comprend :)
     
  9. colonies
    colonies WRInaute occasionnel
    Inscrit:
    10 Septembre 2006
    Messages:
    490
    J'aime reçus:
    54
    Un chemin absolu sur un système de fichiers. Mais pour qu'on parle d'URL absolue, il faut toutes les infos, incluant le protocole et le nom de domaine (et éventuellement le port).
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 832
    J'aime reçus:
    246
  11. colonies
    colonies WRInaute occasionnel
    Inscrit:
    10 Septembre 2006
    Messages:
    490
    J'aime reçus:
    54
  12. Zedbar
    Zedbar Nouveau WRInaute
    Inscrit:
    22 Août 2018
    Messages:
    4
    J'aime reçus:
    0
    J'ai tout essayé, en vain :(

    Avec ton codage, j'ai un message d'erreur du type "Impossible d'afficher la page, il y a trop de redirections..."
    J'ai aussi essayé : sans htaccess, le htaccess avec uniquement tes 2 lignes de code...etc...

    Concernant le chemin relatif (ou absolu), sauf erreur de ma part mon hébergeur ne permet pas l'usage d'un chemin absolue entre 1 nom de domaine et un sous domaine.
    C'est pourquoi les liens pour les images (dynamiques) sont avec un chemin absolue : <img src="http://www.motocross-history.com/administration/upload/XXX.jpg">

    D'ailleurs, même la version mobile, vue à partir d'un ordi, n'affiche pas les images avec : <img src="../administration/upload/XXX.jpg">...

    (Ce qui pourtant est en contradiction avec mes scritps de connexion à la bdd. Ils sont du type : require "../administration/infos/new.php";)

    On arrive toujours au même problème :
    - si on teste http://m.motocross-history.com à partir d'un ordi fixe, les images (dynamiques) s'affichent bien
    - si on test http://m.motocross-history.com à partir d'un mobile, les images (dynamiques) ne s'affichent pas

    Si tu as une autre idée ? :)
    Merci.
     
Chargement...
Similar Threads - Redirection Images mobile Forum Date
Redirections des images - Refonte Débuter en référencement 14 Novembre 2019
Redirection des images vers la page entière Netlinking, backlinks, liens et redirections 8 Décembre 2016
Google images et redirections 301 YouTube, Google Images et Google Maps 28 Octobre 2016
Comportement inconnu dans google images pour une redirection YouTube, Google Images et Google Maps 3 Septembre 2015
Refonte e-commerce et redirection des images Netlinking, backlinks, liens et redirections 22 Octobre 2014
URL images, redirection 301 URL Rewriting et .htaccess 11 Juillet 2014
checker les BL images et faire des redirections Netlinking, backlinks, liens et redirections 23 Février 2014
redirection d'images Netlinking, backlinks, liens et redirections 6 Septembre 2011
Redirection images URL Rewriting et .htaccess 11 Juillet 2011
Conflit de redirection avec les www URL Rewriting et .htaccess Jeudi à 11:47
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice