liens au sein d'un article vers un autre article ne fonctionnent plus après migration

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] liens au sein d'un article vers un autre article ne fonctionnent plus après migration

    Je constate qu'un lien dans un article pointant vers un autre article du même site qui fonctionnait en J3.10 ne fonctionne plus après migration vers J4 et affiche erreur 404 page introuvable.
    Ainsi par exemple une url relative sous J3 est index.php/30-rando-vendredi-passe/14289-210917-xoldoko-compte-rendu et l'url relative créée sous J4 (et qui, elle, fonctionne) est index.php?view=article&id=14289:210917-xoldoko-compte-rendu&catid=5.
    En revanche un lien dans un article créé directement sous J4 ne pose pas de problème particulier.
    S'agit-il d'un bug de la migration ? Quelqu'un d'autre a-t-il constaté ce problème ?

  • #2
    Bonjour

    A vérifier : le routage pour les articles est-il en moderne (suppression des ID) sur le site J4 alors qu'il ne l'était pas en J3 ?
    Il faudrait que je retrouve un de mes sites pour vérifier ce que donnent des liens internes, mais je ne sais plus où j'en ai.

    Complément : j'ai testé en local sur un site J3 passé ensuite en J4, lien créé par JCE vers un article, les deux liens sont strictement identiques :
    Code HTML:
    <p><a href="index.php?option=com_content&amp;view=articl e&amp;id=5:vos-modules&amp;catid=8:blog&amp;Itemid=120">Article "modules"</a></p>
    <p><a href="index.php?option=com_content&amp;view=articl e&amp;id=5:vos-modules&amp;catid=8:blog&amp;Itemid=120">Test 4</a></p>
    Dernière édition par RobertG à 18/10/2021, 18h30
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Pour vérifier, j'ai créé en interne avec Wamp un nouveau site en 3.10. J'y ai placé deux articles avec un lien de l'un à l'autre. J'ai migré ce site vers Joomla 4.0.3 puis j'ai cliqué sur le lien et j'ai obtenu erreur 404 page non trouvée.
      L'url relative du lien était
      index.php/2-non-categorise/2-premier-article
      L'url relative qui permet d'ouvrir ce "premier article" est
      index.php?view=article&id=2remier-article&catid=2 (il n'y a pas d'émoticone, il faut lire 2 : premier)

      Je pensais avec cette erreur dans mon premier site migré que cela tenait à un toilettage insuffisant de mes extensions avant migration mais avec ce deuxième site brut et ne contenant que deux articles, il doit s'agir d'autre chose. Soit cela provient de Wamp, soit il y a un bug dans le processus de migration. Pourtant, Robert, tu dis ne pas avoir rencontré ce problème...
      Dernière édition par olivier834 à 19/10/2021, 10h35

      Commentaire


      • #4
        La migration n'a rien changé sur la manière d'écrire le lien dans mon test avec JCE sur Wampserver en local.
        Nous devons donc procéder différemment.
        Qu'utilises-tu pour créer ces liens ? Le bouton d'insertion d'article (auquel le ne pense jamais) ou le l'icône "lien" ?
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          J'utilise toujours l'icône "lien". Dans le cas de ce nouveau site, je n'avais pas téléchargé JCE, c'était donc l'icône "lien" de tinymce
          Dernière édition par olivier834 à 19/10/2021, 10h51

          Commentaire


          • #6
            Alors, pourquoi le code est-il si différent entre celui que tu as et celui qui a été généré sur mon site test ? Je sèche !
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Moi aussi je sèche... Est-ce que quelqu'un d'autre que moi a rencontré ce problème de perte de lien d'un article à un autre lors de la migration vers Joomla 4 ?

              Commentaire


              • #8
                RobertG, je viens de réessayer. Je viens de mettre en place sur Wamp avec PHP7.4.9, Mysqli 5.7.31 un nouveau site en Joomla3. J'y ai mis quelques articles. Dans l'un j'ai placé un lien vers un autre article. Le code source est le suivant :
                <p style="text-align: justify;"><a href="index.php/8-mardi/2-mardi-211019">Lien vers article</a> du mardi</p>
                Avant migration tout est au vert sauf "output buffering" dans les valeurs PHP qui est en jaune.
                Après migration, le code source est inchangé - en particulier l'url relative du lien.
                <p style="text-align: justify;"><a href="index.php/8-mardi/2-mardi-211019">Lien vers article</a> du mardi</p>
                Et j'obtiens "erreur 404 page introuvable"
                En revanche dans la page d'accueil en J4 si je clique dans le module des derniers articles sur l'article "mardi 211019" il s'ouvre normalement et son url relative est :
                index.php?view=article&id=2:mardi-211019&catid=8

                Ma conclusion est que la migration modifie effectivement les url des articles pour adapter leur format à Joomla 4 mais pas quand ils sont insérés dans le texte d'un article.
                Je pense qu'il y a là un bug. Ne pourrais-tu pas faire remonter cette information vers la Joomla team ? J'avoue que je ne sais pas comment le faire. Merci d'avance.

                Commentaire


                • #9
                  Logiquement, un lien doit avoir une adresse non réécrite pour éviter qu'une modification de position ou de réécriture l'altère. Il doit avoir une adresse telle que celle que j'ai citée plus haut et qui, tant que l'article sera publié, restera fonctionnelle même lorsque l'article changera de catégorie.
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Pour reprendre ma conclusion en l'énonçant différemment : la migration vers joomla 4 change toutes les url internes (articles, catégories, etc.) pour rendre leur format compatible avec joomla 4 mais la migration ne touche pas au contenu des articles; ainsi si un article écrit sous Joomla 3 contient une url relative, par exemple dans un lien, cette url (contenue dans l'article) n'est pas changée dans la migration et une fois sous Joomla 4 le lien pointe vers un article illisible puisqu'écrit au format joomla 3.
                    En revanche un lien vers une url externe continue à fonctionner.

                    Commentaire


                    • #11
                      Ce n'est pas au "format Joomla! 3" mais au "format Joomla! 3 SEF" réécrit par sa propre gestion SEF, ou par une extension externe que sont tes adresses.
                      Le format Joomla! non SEF ne devrait quant à lui jamais changer pour conserver une compatibilité entre versions, c'est pourquoi j'a écrit que c'est cette syntaxe qu'il faut utiliser.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Je pense que j'ai enfin compris ce que tu voulais me dire avec les syntaxes SEF et non SEF. Demain je vais remigrer un site après avoir dans la configuration passé "Réécriture d'URL en clair" sur non.

                        Commentaire


                        • #13
                          Mais il faut que ton lien utilise bien une adresse non réécrite, c'est à dire que tu le crées après la désactivation SEF.
                          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                          Commentaire


                          • #14
                            Hier soir j'ai créé à nouveau un site en J310 ex nihilo. Dans configuration/site/paramètres SEO/ Réécriture d'URL en clair, je suis passé de oui à non. Et lors de la migration, j'ai obtenu une erreur fatale.
                            Dans mon nouvel essai aujourd'hui, je vais laisser dans la configuration Joomla réécriture d'URL en clair sur oui et je vais installer JCE. Est-ce dans JCE qu'il faut agir pour rester en "non SEF"?
                            Dans JCE/profil/Default/Paramètres de l'éditeur/nettoyage et sortie/conversion des URL, il y a 3 choix: Relative, absolu, aucun. Faut-il rester sur relative ou passer sur aucun ?
                            Dans paramètres des plug-ins/gestionnaire de liens/convertir en SEF, c'est sur NON, est-ce correct ? Vois-tu d'autres critères à modifier ? Merci d'avance.

                            Commentaire


                            • #15
                              C'est réglé. La réécriture des URL en clair marqué "non" dans la configuration générale m'ayant semblé hier faire planter la migration, j'ai agi de la façon suivante:
                              J'ai créé sous Wamp en local un site en 3.10. J'ai mis la "réécriture des url" sur NON, j'ai créé des articles avec un lien "non SEF" de l'un vers l'autre puis j'ai repassé la "réécriture des url" sur oui et j'ai fait la migration. Une fois sur Joomla4 j'ai remis la "réécriture des url" sur non et j'ai constaté que les liens fonctionnaient correctement.
                              Conclusion :
                              - soit je réécris tous mes liens en "non SEF" avant migration,
                              - soit je les réécris après migration,
                              mais de toute façon, il y aura un travail d'adaptation.
                              Merci RobertG pour ton aide précieuse sans laquelle je ne serais pas parvenu à mes fins !

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X