Une page d`erreur 404 en cas de requête invalide - Sarka-SPIP
Transcription
Une page d`erreur 404 en cas de requête invalide - Sarka-SPIP
Une page d'erreur 404 en cas de requête invalide Extrait du Sarka-SPIP http://site.sarka-box.net Une page d'erreur 404 en cas de requête invalide - Sarka-Story - Sarka-SPIP 1.1.2 - Nouvelles fonctionnalités - Date de mise en ligne : lundi 12 décembre 2005 Sarka-SPIP Copyright © Sarka-SPIP Page 1/7 Une page d'erreur 404 en cas de requête invalide Description Jusqu'à présent, un visiteur demandant à Sarka-SPIP d'afficher un objet (article, rubrique ou auteur) qui n'existe pas tombait sur horrible page blanche (oh, l'angoisse) mentionnant : "il n'y a pas d'article/d'auteur/de rubrique à cette adresse". Prenons le cas du site http://sylvain.bellego.free.fr. Pendant plusieurs mois, ce site a hébergé des dizaines de pages contenant des informations sur les sciences de l'éducation, référencées par les moteurs de recherche. Lorsque les articles et les rubriques contenant ces ressources universitaires ont été supprimées de ce site, pour être hébergés sur un nouveau site, le contenu de ces pages a été "remplacé" par : "il n'y a pas de truc à cette adresse"... contenu indexé par les moteurs de recherche, et résultat déroutant pour les visiteurs "victimes" de l'inertie de ces moteurs. Il m'a donc semblé utile de remplacer ce type d'avertissement par une page d'erreur 404, dont le titre (title) contient la mention de cette erreur, avec un lien vers le plan du site pour orienter les visiteurs égarés. Fichiers affectés fichiers à créer : • • 404.html 404.php3 fichiers à modifier : • • • • article.html rubrique.html auteur.html local_xx.php3 mise en oeuvre création du couple de fichiers 404.html/php3 La page à afficher lors d'une requête invalide est créée par le couple de fichiers 404.html/php3. Le fichier 404.php3 contient les lignes suivantes : Copyright © Sarka-SPIP Page 2/7 Une page d'erreur 404 en cas de requête invalide <?php $fond = "inclusions/404"; $delais = 24 * 3600; include ("inc-public.php3"); ?> Copyright © Sarka-SPIP Page 3/7 Une page d'erreur 404 en cas de requête invalide Le fichier 404.html génère une page semblable aux autres pages du squelette, avec le bandeau, le menu en colonne de gauche, un texte d'erreur et un lien vers le plan du site. L'élément le plus important de cette page est son titre, qui permet aux moteurs de recherche d'identifier une page d'erreur 404. En voici le code : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> [404] <:page_non_trouvee:> <INCLURE(inclusions/bandeau.php3)> <INCLURE(inclusions/bande-chemin.php3)> <INCLURE(inclusions/bloc-gauche.php3)> <!-- ================================== BLOC CENTRAL ================================== --> 404 - <:erreur:> <:url_fausse:> <:plan_site:> <INCLURE(inclusions/footer.php3)> Copyright © Sarka-SPIP Page 4/7 Une page d'erreur 404 en cas de requête invalide modification des fichiers de langue La page 404.html utilise de nouvelles chaînes de caractères personnalisées (cf. Internationalisation du squelette pour en savoir plus) : • • • 'page_non_trouvee' dans le titre 'erreur' comme titre du message d'explication 'url_fausse' comme message d'explication Les traductions en français, englais et espagnol sont les suivantes : chaîne trad. fr trad. en trad. es Page non trouvée Page not found Página no existante L\'adresse URL que vous demandez n\'existe pas. Le plan du The requisted url adress was not found. The site La direccion que estas pidiendo no existe. El mapa del sitio site peut vous aider à trouver l\'information recherchée. map can help you to find the requested information. puede ayudarte a encontrar la informacion que estas buscando. erreur error error page_no n_trouve e erreur url_fauss e Les fichiers de langue ont donc été modifiés pour tenir compte de ces nouvelles chaînes de caractères. A titre d'exemple, voici les lignes ajoutées au fichier local_fr.php3 : 'page_non_trouvee' => 'Page non trouvée', 'url_fausse' => 'L\'adresse URL que vous demandez n\'existe pas. Le plan du site peut vous aider à trouver l\'information recherchée.', 'erreur' => 'erreur' Modification des pages article, rubrique et auteur Pour faire en sorte que la page d'erreur générée par le couple de fichiers 404.html/php3 s'affiche en réponse à une demande d'article, de rubrique ou d'auteur inexistant, il faut remplacer la chaîne de caractères "pas d'objet" par l'inclusion de la page d'erreur dans les fichiers article.html, auteur.html, imprimer.html et rubrique.html. A titre d'exemple, la structure du fichier article.html est donc la suivante : Copyright © Sarka-SPIP Page 5/7 Une page d'erreur 404 en cas de requête invalide <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <BOUCLE_article_principal(ARTICLES) {id_article}> <!-- affichage de l'article --> </BOUCLE_article_principal> <INCLURE(inclusions/404.php3)> <//B_article_principal> Copyright © Sarka-SPIP Page 6/7 Une page d'erreur 404 en cas de requête invalide Ainsi, la page d'erreur s'affiche lorsque le visiteur demande un article qui n'existe pas. Copyright © Sarka-SPIP Page 7/7