PAGE D ERREUR DE JOOMLA - redirection 301

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

  • [Astuce] PAGE D ERREUR DE JOOMLA - redirection 301

    Bonjour a tous,

    Bon voila sela fait un petit moment que je tourne sur le forum, et impossible de trouver une solution facile pour les redirection de page 301.

    En faisant beaucoup de recherche j'ai trouve une solution que je souhaite mettre a profit sur le forum.

    Page d'erreur personnalisée en Joomla! 1.5

    Error 404 ! C'est ce qui s'affiche sur votre browser lorsque l'URL d'une page n'existe pas, ou plus. La page affichée, au look souvent très roots est en fait affichée le plus souvent par le serveur web (Apache, par exemple) ou par l'hébergeur si celui-ci a pris la peine de modifier la page d'erreur affichée par défaut. Joomla! 1.5 dispose maintenant de son propre système de gestion d'erreur qui permet de personnaliser la page d'erreur, et de la rendre plus conforme à l'aspect général de votre site. Mais...

    il convient de généraliser le système à toutes les pages non trouvées.
    Explications
    Mécanisme natif en Joomla!

    Lorsqu'une page n'est pas trouvée, Joomla! 1.5 utilise le fichier templates/system/error.php qui sert à afficher une page d'erreur pour les erreurs HTTP 403 (forbidden), 404 (page not found) et 500 (internal server error). L'aspect de cette page est très "basique". Il est possible de d'utiliser sa propre page en plaçant un fichier error.php dans le répertoire racine du template que vous utilisez.

    Exemple, imaginons que vous utilisez le template rhuk_milkyway, il vous faudra alors créer un fichier template/rhuk_milkyway/error.php

    A vous de modifier/créer ce fichier de façon à ce qu'il soit en cohérence visuelle avec votre site.

    Des informations plus détaillées sont disponibles ici, dans la documentation de Joomla!.
    Limitations

    D'après mes essais, le mécanisme ne fonctionne que pour les pages dont les extensions correspondent à celles énumérées dans la ligne suivante du fichier .htaccess fourni par Joomla! (les extensions sont en vert):

    RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]

    Note: le fichier .htaccess doit évidemment être utilisé pour que le mécanisme soit effectif.

    Oui, mais que se passe-t-il si l'URL recherchée ne se termine pas par une de ses extension ? Hé bien dans ce cas, le mécanisme décrit ci-dessus ne fonctionnera pas. Ainsi, l'URL www.monsite.com/une-page.xyz provoquera l'affichage de la page d'erreur du serveur web.
    Généralisation du système

    Pour généraliser le système, il faut ajouter une ligne dans le fichier .htaccess qui prendra en compte tous les autres cas de figure:

    ErrorDocument 404 http://www.monsite.com/ma-page-d-err...sonalisee.html

    qui redirigera toutes les autres erreurs 404 vers une page que vous aurez créée.

    Tant qu'à faire, pensez à ajouter les lignes suivantes dans votre fichier .htaccess:

    ErrorDocument 403 http://www.monsite.com/ma-page-d-err...sonalisee.html
    ErrorDocument 401 http://www.monsite.com/ma-page-d-err...sonalisee.html
    ErrorDocument 500 http://www.monsite.com/ma-page-d-err...sonalisee.html
    Et pour faire plus joli...

    Vous pouvez créer vos pages d'erreur en Joomla!, ce qui aura comme avantage de pouvoir afficher des pages en utilisant le template de votre site.

    Admettons que vous ayez créé 2 pages, l'une pour les erreurs 404 (ce sont les plus fréquentes), l'autre pour les autres erreur. Publiez-les... sans les relier à un menu et en les mettant dans des sections et des catégories qui ne sont jamais affichées. Notez l'ID Joomla! de ces pages (admettons par exemple qu'elles ont respectivement l'ID 123 et 124, comme ceux écrits en vert ci-dessous) et modifiez les lignes de votre fichier .htaccess comme indiqué ci-dessous:

    ErrorDocument 401 http://www.monsite.com/index.php?opt...article&id=124
    ErrorDocument 403 http://www.monsite.com/index.php?opt...article&id=124
    ErrorDocument 404 http://www.monsite.com/index.php?opt...article&id=123
    Et que devient le fichier error.php propre à votre template ?

    Et bien, il n'affichera pas la jolie page d'erreur que vous aurez faite en Joomla!.

    Pour contourner ce problème, il suffit de modifier ce fichier error.php pour qu'il effectue une redirection immédiate vers la page d'erreur personnalisée de Joomla!, par exemple en utilisant le contenu suivant:




    Page non trouvée - redirection

    123" />


    Redirection vers la page d'erreur...



    Vous allez être redirigé vers une page d'erreur. Si vous n'y êtes pas redirigé d'ici quelques secondes, merci de 123">cliquer ici.




    Limitations de la redirection

    La redirection présente une limitation: elle ne fonctionne que pour un type d'erreur, en l'occurrence l'erreur 404 pour l'exemple ci-dessus.

    Si vous voulez gérer les autres erreurs, il vous faudra créer dynamiquement en php des balises META HTTP-EQUIV="refresh"... en fonction du type d'erreur:


    if ($this->error->code = '404') {
    ligne de code pour la balise dirigeant vers la page 123);
    } ?>

    ... petit truc

    Si vous avez modifié le nom de certaines pages et que celles-ci sont référencées par d'autres sites, les clicks sur les références vont aboutir sur votre page (maintenant personnalisée) d'erreur 404. Pour contourner le problème, vous pouvez ajouter des lignes semblables à celle reprise ci-dessous dans votre fichier .htaccess:

    Redirect permanent /ancien-nom-de-page.html http://www.monsite.com/nouveau-nom-de-page

    Le lien vers cette page est ici : http://www.colombi.net/divers/ict/11...error-404-page

    Cependant j'ai essayer mais étant un neophite dans le php, dans mon fichier error.php
    j'ai ecris cela :

    <?php
    header('Location:http://www.sommeil-et-deco.eu');
    exit();
    ?>

    mais le probleme c'est que cela ne prend pas en compte le fichier .htaccess et les redirections permanentes.

    Si vous souhaitez completez la discussion c'est avec un grand plaisir.
    http://www.sommeil-et-deco.eu
    C'est dans la multitude conseils que ce trouve la solution.

  • #2
    merci à toi
    je suis allé sur ton site par curiosité
    et tu as un soucis dans ta boutique
    le lien "relaxation" m'emmène ici "http://www.opensourcematters.org/"
    voilà, j'ai pas tout regardé c'est du au hasard
    a+
    http://huguet-lelong.fr/
    Joomla : 2.5

    Commentaire


    • #3
      Cette solution n'est vraiment pas au top. si je comprends bien, il faut avoir un fichier STATIC error.php dans le template utilisé par défaut...

      C'est plutôt bof... ça se passe comment si tu veux personnaliser ta 404 pour chaque langue du site ?

      Moi je chercher juste à faire comme je fait sur les autre sites non joomla : une ligne dans htaccess et une page 404.html et basta

      C'est étrange que personne d'autre n'ai de solution sur qqch. de si courant...

      Commentaire


      • #4
        Mise en oeuvre avec Joomla et OVH

        Tout d'abord, un grand merci a metylos. Il m'a permis d'en finir avec la page d'erreur, auparavant rien de classique ne marchait, voici une solution en trois points inspirée par metylos :
        1. Fichier error.php de Joomla (Chemin : /Templates/System/ error.php)

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html>
        <head>
        <title>gestion 404</title>
        </head>
        <body>
        <div align="center">
        <p><?php include ('erreur404.php') ; ?></p>
        </div>
        </body>
        </html>

        2. Fichier erreur404.php : c’est la page d’erreur personnalisée, on y met ce que l’on veut !
        Chemin : à la racine du site (dans www chez OVH)

        3. Firefox : On va dans le menu Outils-Modules complémentaires, on désactive tous les modules. On relance Firefox, on teste une adresse de page inexistante, ça devait afficher la page erreur404.php. Ensuite, on pourra rétablir certains modules, un à un, s’ils ne plantent pas la page d’erreur. Avec Internet Explorer, on fait des choses semblables.
        Dernière édition par grandjean à 30/08/2010, 15h08 Raison: Précision erreur 404 dans le titre

        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