Exclure les media d’une redirection 301 avec .htaccess ? (Créer un compte)

  • WordPress :5.8
  • Statut : non résolu
  • Ce sujet contient 19 réponses, 2 participants et a été mis à jour pour la dernière fois par ferman, le il y a 2 mois.
15 sujets de 1 à 15 (sur un total de 20)
  • Auteur
    Messages
  • #2422008
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 6.0.2
    – Version de PHP/MySQL : 8.1.6
    – Thème utilisé : SmartMag
    – Extensions en place : 20
    – Nom de l’hébergeur : OVH
    – Adresse du site : http://www.zero-yen-media.fr

    Problème(s) rencontré(s) :

    Après bien des péripéties et des mois de travail, j’ai remis en place le site de mon association sur le Japon.

    Tout fonctionnait bien jusqu’à ce que j’utilise une redirection 301 avec le fichier .htaccess : l’ancien site étant dans le dossier /home et le nouveau dans /home2, j’ai donc créé une redirection de type : Redirect 301 /home https://www.zero-yen-media.fr/home2

    Ce que je n’ai pas capté, c’est que la majorité de mes media (images illustrant les articles) sont stockés dans le dossier /home de l’ancien site ! Je n’ai donc plus aucune image dans pas mal d’articles…

    Ma question est donc : est-il possible d’effectuer cette redirection pour l’ensemble du site SAUF pour les images en utilisant le fichier .htaccess ? Ou existe-t-il une autre astuce pour rediriger le /home vers le /home2 ?

    Merci pour votre aide !

    • Ce sujet a été modifié le il y a 2 mois et 2 semaines par Ghisy.
    • Ce sujet a été modifié le il y a 2 mois et 2 semaines par Ghisy.
    #2422011
    ferman
    Participant
    Maître WordPress
    5617 contributions

    Après bien des péripéties et des mois de travail, j’ai remis en place le site de mon association sur le Japon.

    Voila une bonne nouvelle. Ça s’était tellement mal passé la dernière fois . Et vous avez fini par vous débarrasser du « index » dans les urls. Vous avez fait ça tout seul?

    c’est que la majorité de mes media (images illustrant les articles) sont stockés dans le dossier /home de l’ancien site

    Ils ne sont pas également dans le dossier upload du nouveau site? Vous n’avez pas copié les dossiers de votre ancien site  dans  home2?

    #2422016
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Bonsoir ferman,

    Je me souviens de votre pseudo ! Merci pour le gentil message 🙂

    Le « index » a disparu car j’ai réinstallé un WordPress de zéro dans un nouveau dossier du serveur (/home2) pour repartir sur quelque chose de propre.

    Oui, j’avais bien uploadé toutes les images dans le dossier « uploads » du nouveau site mais les URL des images dans les articles renvoient sur /home et non pas /home2. Il semblerait que WordPress ne détecte pas les dossiers présents dans /home2… Je n’ai peut-être pas fait ça correctement ? Je pensais qu’un simple copier/coller via FTP fonctionnerait.

    Pour l’instant, j’ai activé la page de maintenance sur l’ancien site en indiquant que l’URL a changé. Ce n’est pas très élégant mais ça m’évite d’utiliser la redirection 301. Toutefois, cela ne corrige pas tous les anciens liens postés sur les réseaux sociaux et les visiteurs doivent cliquer sur le lien de la page de maintenance s’ils tapent l’ancienne URL. Est-il possible d’activer une redirection sur la page de maintenance uniquement ?

    #2422018
    ferman
    Participant
    Maître WordPress
    5617 contributions

    Je crois que le « problème » n’en est pas un. Il faudra intervenir au niveau de la base de données où tous les liens sont restés à l’ancienne adresse. Si c’est ça c’est normal. Il suffira de télécharger l’extension better search replace et de remplacer https: //www. zero-yen-media.fr/home  par https: //www. zero-yen-media.fr/home2. Ça devrait tout remettre en ordre. Avant de le faire, vérifiez que le dossier content/upload de votre nouveau site contient bien les images de l’ancien site. Ensuite, par précaution, faites une sauvegarde (exportation) de votre base de données. Lisez le mode d’emploi du plugin et faites un essai à blanc (vous verrez ça en utilisant le plugin). Puis faites le changement en vrai. Il ne devrait y avoir aucun problème; c’est une manip classique (et inévitable) quand on change l’adresse du site.

    Si vous avez des questions demandez.

    • Cette réponse a été modifiée le il y a 2 mois et 2 semaines par ferman.
    #2422442
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Merci, je vais jeter un œil sur Better Search Replace.

    #2423433
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Je viens de faire la manipulation et mon URL a changé en /home22 et je n’ai plus accès à l’admin !

    HELP ?

    Edit : j’ai lancé une restauration de la sauvegarde via le manager d’OVH, je croise les doigts… Bon, sauvegarde restaurée, OUF !

    J’ai lu la doc du plug-in mais je n’ai pas dû configurer le remplacement comme il faut. Voici une capture :

    J’ai choisi toutes les tables, fait un test en « dry run » (essai à blanc) puis en décochant la case et c’est là où tout a planté. Pouvez-vous me dire comment faire cela correctement ?

    • Cette réponse a été modifiée le il y a 2 mois par Ghisy.
    • Cette réponse a été modifiée le il y a 2 mois par Ghisy.
    • Cette réponse a été modifiée le il y a 2 mois par Ghisy.
    #2423567
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Re,

    J’ai essayé en changeant https://www.zero-yen-media.fr/home/ par https://www.zero-yen-media.fr/home2/ (avec un slash en plus à la fin de l’URL). Cela a remplacé 150 entrées dans les tables, ça ne m’a pas planté le site mais n’a pas mis à jour les URL des images dans les articles concernés. J’ai pu le vérifier en remettant la redirection 301 dans le .htaccess : les images ne s’affichent plus.

    D’après mes recherches, ce sont les tables wp_posts et wp_links qui contiennent les URL des images. J’ai bien inclus ces tables dans Better Search Replace.

    J’avoue ne pas comprendre pourquoi cela ne fonctionne pas. Je pense que je vais devoir rester comme ça et laisser ma page de maintenance sur l’ancien site qui indique que l’adresse a changé.

    #2423574
    ferman
    Participant
    Maître WordPress
    5617 contributions

    Bonjour,

    …mais n’a pas mis à jour les URL des images dans les articles concernés.

    j’ai regardé le html (quelques images ). Elles ont bien la bonne url, par exemple:

    <a href="https://www.zero-yen-media.fr/home2/wp-content/uploads/2022/09/Aki_Matsuri_Marseille_2022_thumb.jpg" class="image-link" title="11e Aki Matsuri au Parc Borély de Marseille">

    De plus, l’url de l’image  (avec home 2) conduit bien à l’image  alors qu’avec home on a une erreur (pj)

    Avez-vous des contre-exemples ? Avez-vous vidé le cache du navigateur?

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2423576
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Avez-vous des contre-exemples ? Avez-vous vidé le cache du navigateur?

    Oui, cache vidé et essai sur un autre navigateur.

    L’exemple que vous avez pris est un article écrit depuis la réouverture du site, ces images ont été uploadées directement dans /home2.

    Si vous regardez cet article, les images sont dans /home et si je mets en place la redirection 301, elles ne s’affichent plus. Idem pour celui-ci et pas mal d’autres.

    • Cette réponse a été modifiée le il y a 2 mois par Ghisy.
    #2423593
    ferman
    Participant
    Maître WordPress
    5617 contributions

    Alors, c’est un peu compliqué mais je pense avoir un embryon d’explication (peut-être pas pour tout). Si on prend l’exemple de cette page: https :// www  .zero-yen-media.fr/home2/2016/07/interview-satsuki-geiko-et-marika-maiko.html, dans tous les paragraphes les images d’origine sont de la forme:

    http : // www .zero-yen-media.fr/home/wp-content/uploads/2016/07/Maiko_Paris_2016_01_OK.jpg. Donc avec http et pas https.

    Pour ces images, comme vous avez fait votre search/replace en partant de  https : //www .zero-yen-media.fr/home/ et non https : // www .zero-yen-media.fr/home/, le remplacement ne s’est pas fait. On voit donc dans le html ce qui est en pièce jointe et que j’explique de la manière suivante: le site va chercher l’image à l’emplacement d’origine « home » (la ligne du haut), applique la redirection 301 http -> https pour donner https mais toujours dans le dossier « home ».

    Il faudrait faire un autre search/replace mais cette fois ci en partant de http : // www .zero-yen-media.fr/home/

    Vérifiez auparavant que les images en question sont bien dans le dossier upload de home2. Elles y sont très certainement mais vérifiez quand même.

     

     

    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2423893
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    Alors, j’ai corrigé le https des images dans /home avec le plug-in « Really Simple SSL ». J’ai ensuite fait un nouveau search/replace de https /home vers https /home2 mais le plug-in ne trouve aucun élément à remplacer.

    J’ai bien vérifié : les URL des images dans /home sont bien passées en https au lieu de http.

    Je ne comprends pas trop. Je vais finir par laisser les choses comme elles sont avec la page de maintenance activée sur l’ancien site.

    • Cette réponse a été modifiée le il y a 2 mois par Ghisy.
    #2423897
    ferman
    Participant
    Maître WordPress
    5617 contributions

    J’ai ensuite fait un nouveau search/replace de https /home vers https /home2

    Je vois toujours les images d’origine avec http : // www .zero-yen-media.fr/home/ . Il faut essayer en remplaçant dans la base de données :

    http : // www .zero-yen-media.fr/home/ par https : // www .zero-yen-media.fr/home2/ . Faites d’abord un essai à blanc pour voirsi ce remplacement donnera quelque chose.

    #2423899
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    J’ai tenté le dernier search/replace mais les images n’apparaissent pas. Je remarque que certaines images ne sont pas sur mon serveur (en regardant en FTP) alors que j’avais copié l’intégralité du dossier uploads de l’ancien site vers le nouveau dossier. C’est très bizarre !

    Je vais vérifier tout ça et refaire votre search/replace derrière. En attendant, j’ai restauré ma base de données actuelle.

    #2423900
    ferman
    Participant
    Maître WordPress
    5617 contributions

    Je remarque que certaines images ne sont pas sur mon serveur (en regardant en FTP)

    C’est pas bien: je vous avais dit (2 fois) de vérifier 🙁

    Et est-ce que l’essai à blanc avait montré que des remplacements étaient possibles?

    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    #2423906
    Ghisy
    Participant
    Padawan WordPress
    84 contributions

    C’est pas bien: je vous avais dit (2 fois) de vérifier 🙁

    Voui, désolé 🙁
    J’avais fait un copié/collé du dossier « uploads » en entier, il me paraissait logique que toutes les images étaient bien recopiées.

    Et est-ce que l’essai à blanc avait montré que des remplacements étaient possibles?

    Oui, 4800 et quelques donc vous êtes sûrement sur la bonne piste !

15 sujets de 1 à 15 (sur un total de 20)
  • Vous devez être connecté pour répondre à ce sujet.