Joomladay francophone 2018 à Paris 18 et 19 mai

sh404SEF : changer l'itemid de l'erreur 404.

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

  • sh404SEF : changer l'itemid de l'erreur 404.

    Bonjour,

    Par défaut, je crois comprendre que sh404SEF affiche son erreur 404 avec l'itemid de la page d'accueil. Sur mon site, il y a pleins de module sur la page d'accueil et du coup, ça donne un affichage un peu byzare. Comment faire pour attribuer un autre itemid ?

    La réponse donnée par tourderein sur ce sujet, ci dessous :

    Envoyé par tourderein Voir le message
    Le but du jeu est d'afficher sa page d'erreur personnalisée, bien visible en haut de page et sans la plupart des modules, plutôt qu'en bas de la page d'accueil et avec plein de modules !

    J'ai cru devenir fou avec cette histoire car personne ne voyait ma page d'erreur vu que des diaporamas, des pubs et autres modules s'affichaient au-dessus !

    Notre sauveur sera sh404SEF et ses réglages "très avancés", combinés à une page d'erreur personnalisée elle même connectée à un lien de menu Joomla!.

    À cause d'un bogue (?) lors de la mise à jour des stats de sécurité de sh404SEF et qui réinitialise la page d'erreur 404 à son contenu par défaut (donc on perd sa page d'erreur personnalisée), il faut créer une page personnalisé, par exemple Erreur, non catégorisée (statique). Ne pas utiliser la page 404 par défaut.

    Ensuite, pour pouvoir gérer correctement l'affichage des modules, il faut créer un lien de menu "Page d'erreur", juste histoire d'avoir non seulement un ID mais aussi un itemID différent de celui (par défaut) de la page d'accueil (1). Choisir de l'option "itemid unique" (J1.0.x) me semble être une bonne idée.

    Ce lien de menu, c'est l'aspect le plus important de l'astuce, sinon la page d'erreur s'affiche toujours en dépendance de la page d'accueil (itemid = 1), donc avec tous les modules de celle-ci.

    Le lien de menu permettra aussi, le cas échéant, de gérer la page d'erreur via la liste des urls optimisées de sh404SEF, en choisissant l'adresse unique qui permettra d'afficher la page d'erreur 404 (gestions des urls dupliquées).

    Ce lien de module pourra être désactivé par la suite (recommandé, car inutile pour l'usage courant du site), mais bien-sûr pas l'article.

    À ce stade, se rendre dans le gestionnaire des modules et choisir quels modules doivent s'afficher après un clic sur ce lien de menu (qu'il soit désactivé n'y change rien).

    Après ça, purger tous les caches, y compris ceux d'un éventuel composant de plan de site, se rendre en page d'accueil du site, cliquer sur le lien créé afin que sh404SEF puisse générer l'adresse optimisée (du type /erreur ou /erreur.php). Et vérifier que la page s'affiche comme prévu, bien visible et avec les bons modules.

    Au stade final, se rendre dans la configuration de sh404SEF, onglet Très avancé, localiser la ligne :
    Code PHP:
    // if not 0, will be used instead of Homepage itemid to display 404 error page
    define ('sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'0); 
    et remplacer le "0" par l'itemid du lien de menu créé plus tôt, par exemple 118 !

    Ce qui nous donne :

    Code PHP:
    error page
    define 
    ('sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'118); 
    La page d'erreur s'affichera maintenant comme si l'on avait cliqué sur le lien "Page d'erreur".

    PS fleuveblanc, merci de rééditer ton premier message et de la passer en astuce
    Dernière édition par 7am à 10/06/2009, 23h05
    Ancien pseudo : Fleuve Blanc

  • #2
    Ma question n'a pas un grand succès. Si je peux faire quelque chose pour mieux présenter mon problème et avoir quelques réponses, n'hésitez pas à me le dire.
    Ancien pseudo : Fleuve Blanc

    Commentaire


    • #3
      Bonsoir,

      J'ai exactement le même problème. Si quelqu'un a la solution, une explication sera la bienvenue. Merci.

      Commentaire


      • #4
        un début de solution là bas :
        http://extensions.siliana.net/Forum/...-this-one.html

        Je dis "début", parce que je ne trouve pas cette constante dans le fichier en question ...

        Commentaire


        • #5
          Pour faire suite à mon précédent message, il suffit de modifier la constante :
          sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID
          du fichier administrator/components/com_sef/sh404sef.class.php

          et d'y mettre l'id de son choix ....
          Perso j'ai mis n'importe quoi (857) ...

          Commentaire


          • #6
            Bizarre, je ne trouve pas cette constante dans le fichier sh404sef.class.php ?

            Commentaire


            • #7
              Pour finir, j'ai contourné le problème en utilisant le fichier 404_Not_found_tpl.html qui ouvre une page html avec mon message.

              Commentaire


              • #8
                L'astuce

                Le but du jeu est d'afficher sa page d'erreur personnalisée, bien visible en haut de page et sans la plupart des modules, plutôt qu'en bas de la page d'accueil et avec plein de modules !

                J'ai cru devenir fou avec cette histoire car personne ne voyait ma page d'erreur vu que des diaporamas, des pubs et autres modules s'affichaient au-dessus !

                Notre sauveur sera sh404SEF et ses réglages "très avancés", combinés à une page d'erreur personnalisée elle même connectée à un lien de menu Joomla!.

                À cause d'un bogue (?) lors de la mise à jour des stats de sécurité de sh404SEF et qui réinitialise la page d'erreur 404 à son contenu par défaut (donc on perd sa page d'erreur personnalisée), il faut créer une page personnalisé, par exemple Erreur, non catégorisée (statique). Ne pas utiliser la page 404 par défaut.

                Ensuite, pour pouvoir gérer correctement l'affichage des modules, il faut créer un lien de menu "Page d'erreur", juste histoire d'avoir non seulement un ID mais aussi un itemID différent de celui (par défaut) de la page d'accueil (1). Choisir de l'option "itemid unique" (J1.0.x) me semble être une bonne idée.

                Ce lien de menu, c'est l'aspect le plus important de l'astuce, sinon la page d'erreur s'affiche toujours en dépendance de la page d'accueil (itemid = 1), donc avec tous les modules de celle-ci.

                Le lien de menu permettra aussi, le cas échéant, de gérer la page d'erreur via la liste des urls optimisées de sh404SEF, en choisissant l'adresse unique qui permettra d'afficher la page d'erreur 404 (gestions des urls dupliquées).

                Ce lien de module pourra être désactivé par la suite (recommandé, car inutile pour l'usage courant du site), mais bien-sûr pas l'article.

                À ce stade, se rendre dans le gestionnaire des modules et choisir quels modules doivent s'afficher après un clic sur ce lien de menu (qu'il soit désactivé n'y change rien).

                Après ça, purger tous les caches, y compris ceux d'un éventuel composant de plan de site, se rendre en page d'accueil du site, cliquer sur le lien créé afin que sh404SEF puisse générer l'adresse optimisée (du type /erreur ou /erreur.php). Et vérifier que la page s'affiche comme prévu, bien visible et avec les bons modules.

                Au stade final, se rendre dans la configuration de sh404SEF, onglet Très avancé, localiser la ligne :
                Code PHP:
                // if not 0, will be used instead of Homepage itemid to display 404 error page
                define ('sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'0); 
                et remplacer le "0" par l'itemid du lien de menu créé plus tôt, par exemple 118 !

                Ce qui nous donne :

                Code PHP:
                error page
                define 
                ('sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'118); 
                La page d'erreur s'affichera maintenant comme si l'on avait cliqué sur le lien "Page d'erreur".

                PS fleuveblanc, merci de rééditer ton premier message et de la passer en astuce
                Dernière édition par tourderein à 20/09/2008, 17h53

                Commentaire


                • #9
                  Jolie solution.

                  1° post édité.

                  Ancien pseudo : Fleuve Blanc

                  Commentaire


                  • #10
                    ATTENTION !

                    Avec Joomla! 1.5 et sh404SEF 1.0.11_Beta - build_147 cette astuce ne fonctionne pas.

                    La page d'erreur perso s'affiche correctement et uniquement avec les modules souhaités, mais elle renvoie un code "200 OK" au lieu d'un code erreur "404".

                    Résultat, Google refuse de valider le site.

                    Le plus simple est alors de dépublier toute page d'erreur pour laisser le fichier error.php de Joomla! 1.5 prendre en charge l'affichage d'un message d'erreur en cas de page introuvable. Le message s'affiche seul et en plein milieu de l'écran (on ne peut pas la rater), avec plusieurs explications possibles et un lien de retour vers la page d'accueil.

                    le fichier error.php est situé dans /templates/system/

                    Commentaire


                    • #11
                      je relance un peu le sujet car j'ai moi aussi un problème de page 404.
                      J'ai suivi la méthode de tour de rein qui fonctionne super bien, SAUF pour les anciennes pages de mon site qui contenaient "index.php" dans l'url. Un exemple vaut mieux qu'un long discours :

                      page 404 fonctionnelle :
                      http://www.joomlack.fr.nf/tt

                      page 404 non fonctionnelle :
                      http://www.joomlack.fr.nf/index.php/...te-a-mootools/

                      j'ai mis dans la config de sh404 à 1 la redirection des pages si "index.php" :
                      $shDefaultParams['sh404SEF_REDIRECT_IF_INDEX_PHP'] = 1;

                      mais ça ne marche pas dans ce cas... Si quelqu'un peut m'aider, ce serait vraiment cool car à l'heure actuelle les anciennes pages de mon site qui tombent sur une page 404 sont illisibles !!

                      PS : j'avais pas fait attention dans le post, mais moi je suis en Joomla! 1.5...
                      Dernière édition par ced1870 à 29/06/2009, 11h55
                      Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                      http://www.template-creator.com Outil de création de templates
                      Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                      Commentaire


                      • #12
                        UP, je relance car ce problème est assez important pour moi... merci d'avance !
                        Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                        http://www.template-creator.com Outil de création de templates
                        Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                        Commentaire


                        • #13
                          problème réglé !
                          j'ai trouvé la solution ici :
                          http://extensions.siliana.com/forums...?topic=11228.0

                          il faut mettre le bon chemin dans la variable $live_site du fichier configuration.php.
                          Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                          http://www.template-creator.com Outil de création de templates
                          Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                          Commentaire


                          • #14
                            Je remonte le sujet car la réponse ne semble pas se trouver dans le lien de ced1870.
                            www.weblogin.fr - Création, Référencement et Design de sites Internet.

                            Commentaire


                            • #15
                              Bon en fait j'ai trouvé en changeant simplement dans sh404sef.class.php

                              // if not 0, will be used instead of Homepage itemid to display 404 error page';
                              $shDefaultParams['sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'] = 0;
                              Par ceci (simple ajout d'un itemid bidon) :

                              // if not 0, will be used instead of Homepage itemid to display 404 error page';
                              $shDefaultParams['sh404SEF_PAGE_NOT_FOUND_FORCED_ITEMID'] = 9999;
                              Si ça peut en aider d'autres ! Ça semble bien envoyer le code HTTP 404 NOT FOUND
                              www.weblogin.fr - Création, Référencement et Design de sites Internet.

                              Commentaire

                              Annonce

                              Réduire
                              1 sur 2 < >

                              C'est [Réglé] et on n'en parle plus ?

                              A quoi ça sert ?
                              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                              Comment ajouter la mention [Réglé] à votre discussion ?
                              1 - Aller sur votre discussion et éditer votre premier message :


                              2 - Cliquer sur la liste déroulante Préfixe.

                              3 - Choisir le préfixe [Réglé].


                              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                              2 sur 2 < >

                              Assistance au forum - Outil de publication d'infos de votre site

                              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                              UTILISER À VOS PROPRES RISQUES :
                              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                              Problèmes connus :
                              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                              Installation :

                              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                              Archive zip : https://github.com/AFUJ/FPA/zipball/master

                              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                              et remplacer www. votresite .com par votre nom de domaine


                              Exemples:
                              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/
                              Pour executer le script: http://www..com/fpa-fr.php

                              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/cms/
                              Pour executer le script: http://www..com/cms/fpa-fr.php

                              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                              Voir plus
                              Voir moins
                              Travaille ...
                              X