Annonce

#1 2010-06-11 22:52:53

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Créer une page Erreur 404

Bonjour ;

suite à [Forum, topic 18014] Page spéciale pour mauvais liens, ci-dessous la formule pour créer une page où vos visiteurs sont redirigés en cas de mauvais URL.
"Mauvais URL" n'inclut pas un URL de type
//<site>/piwigo/index.php?mauvaise_requête
car dans ce cas index.php est bel et bien exécuté. À voir dans le fonctionnement de ce fichier comment il traite une "mauvaise requête".



Le principe ici est de créer une page qui soit dans le même thème que votre galerie. Exemple : http://lucmorizur.free.fr/piwigo/mauvais_URL (l'URL "mauvais_URL" n'existe pas sur ce site. Si si ;-) !)

EDIT : je laisse la suite du message à titre d'exemple, mais j'ai finalement trouvé une procédure un peu meilleure : [Forum, post 146106 by LucMorizur in topic 18018] Créer une page Erreur 404.

Le pré-requis est d'utiliser [extension by P@t] Additional Pages ("AP") sur votre galerie, au moins pour créer la page en question. Vous pouvez le désinstaller complètement une fois que votre page vous convient, il ne sert qu'à la création de la page.

Ores donc avec AP, créez votre page comme vous la désirez. N'oubliez pas qu'avec AP, il vous faut écrire en HTML (vous avez droit au JavaScript, aussi) : par exemple, un retour à la ligne doit être précisé par la balise <br />. Une fois que la page vous convient, affichez son code source (avec Firefox, clic droit sur la page que vous avez créée, ligne "Code source de la page"). Copiez tout le code de la page, et collez-le dans un éditeur de texte (un éditeur HTML comme Notepad++ par exemple). Pensez à encoder votre texte en UTF-8 sans BOM, et avec des retours chariot de type Unix c'est un peu mieux (il paraît).

Si vous pouvez stocker votre page HTML, une fois finie, dans le dossier où Piwigo est installé, vous avez pratiquement fini : ne vous reste plus qu'à retirer le menu de AP par exemple, que vous ne voudrez sûrement pas voir affiché comme pour vous à vos visiteurs ; le bloc menu d'identification, qui ne pourra pas "savoir" si votre visiteur est identifié ou non (pour ça, il faut du PHP, ce qui n'est pas possible ici)...

Si pour une raison ou pour une autre, vous savez que vous ne pourrez pas stocker votre page HTML dans le dossier d'installation de Piwigo, il vous faudra remplacer toutes les références relatives dans votre code, par des références absolues. C'est-à-dire que tous les liens vers des objets situés dans votre site, sont écrits "URL=dossier/objet..." ; alors qu'ils devront, pour cette page spécifique, être écrits de façon complète, à savoir : "URL=http://<votre_site>/<dossier Piwigo>/dossier/objet...". Il faut donc effectuer une "recherche et remplacement" (CTRL + H sur beaucoup d'éditeurs) pour remplacer tous les « href="template/... » par des « href="http://<votre_site>/<dossier Piwigo>/template/... », et ce pour toutes les références (et il y en a pas mal !) ! Un minimum de compréhension du HTML sera bienvenu, mais si ce n'est pas le cas, c'est une bonne école pour apprendre comment "fonctionne" une page HTML ;-) !
Il y a au moins deux principales balises qui utilisent des URL : href et src, mais il peut peut-être y en avoir d'autres.
L'exemple ci-dessus suppose que Piwigo est installé dans le dossier <dossier Piwigo>, et pas directement à la racine de votre site.

Bref vous vous faites une bonne petite page HTML calquée sur le thème de votre site, quoi ;-) ! Vous n'avez plus qu'à la transférer par FTP sur votre site, et à la tester en y accédant directement : http://lucmorizur.free.fr/tests/test_err404.html . Et là... ce n'est pas exactement ce que vous vouliez :-( ! C'est normal : il y a forcément quelques ajustements à faire :-) ...

Une fois ces ajustements effectués, il n'y a plus qu'à configurer votre hébergement pour qu'il redirige les URLs inconnues vers cette page. Chez Free, il faut ajouter la ligne suivante dans le .htaccess :

ErrorDocument 404 /tests/test_err404.html

(dans le cas de mon exemple, évidemment ; changez la référence en fonction de votre fichier ;-) .)

Et voilà ! C'était pas si compliqué ;-) ...

Dernière modification par LucMorizur (2010-06-13 09:48:05)

Hors ligne

#2 2010-06-11 23:15:56

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Créer une page Erreur 404

Un précision tout de même. Afin de ne pas faire d'amalgame, Piwigo dispose déjà d'un moyen pour prévenir d'un lien brisé.

La méthode évoquée par Luc est donc bien là pour des pages qui peuvent être "additionnelles" ou complémentaires de Piwigo.


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2010-06-11 23:42:27

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Créer une page Erreur 404

Gotcha a écrit:

Un précision tout de même. Afin de ne pas faire d'amalgame, Piwigo dispose déjà d'un moyen pour prévenir d'un lien brisé.

C'est sans doute cette page de redirection qu'il faudrait habiller un peu.
;-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#4 2010-06-11 23:45:44

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: Créer une page Erreur 404

LucMorizur a écrit:

Exemple : http://lucmorizur.free.fr/piwigo/mauvais_URL (l'URL "mauvais_URL" n'existe pas sur ce site. Si si ;-) !)

L'URL "bon_URL" ne paraît pas exister non plus ... c'est normal, docteur ?

LucMorizur a écrit:

Ores donc avec AP,

Ttuuuttt, Ttuuuttt !
(chacun son tour ;-))

LucMorizur a écrit:

Il faut maintenant remplacer toutes les références relatives dans votre code, par des références absolues.

Pas compris pourquoi :/
On devrait pouvoir se positionner en relatif par rapport au dossier de la page, non ?

Gotcha a écrit:

Piwigo dispose déjà d'un moyen pour prévenir d'un lien brisé.

Le retour systématique à la page d'accueil de la galerie ? Ca peut dépendre des modalités d'installation de Piwigo.
Exemple : http://www.marie-noelle-augendre.com/pi … _lien.html

Dernière modification par tosca (2010-06-11 23:46:24)

Hors ligne

#5 2010-06-12 11:08:34

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

VDigital a écrit:

Gotcha a écrit:

Un précision tout de même. Afin de ne pas faire d'amalgame, Piwigo dispose déjà d'un moyen pour prévenir d'un lien brisé.

C'est sans doute cette page de redirection qu'il faudrait habiller un peu.
;-)

Vdigital, peux-tu répondre à [Forum, post 146054 by LucMorizur in topic 18014] Page spéciale pour mauvais liens pour expliciter ce que fait index.php lorsque la requête qui lui est passée ne peu pas être interprétée stp ?

Hors ligne

#6 2010-06-12 11:20:05

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

tosca a écrit:

LucMorizur a écrit:

Ores donc avec AP,

Ttuuuttt, Ttuuuttt !
(chacun son tour ;-))

?!
Euh... -> [Forum, topic 18022] Ores donc : un petit coup de café paradisiaque, sans quoi on va se faire taper sur les doigts. On est d'ores et déjà HS, là...

Hors ligne

#7 2010-06-12 11:26:22

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

tosca a écrit:

LucMorizur a écrit:

Exemple : http://lucmorizur.free.fr/piwigo/mauvais_URL (l'URL "mauvais_URL" n'existe pas sur ce site. Si si ;-) !)

L'URL "bon_URL" ne paraît pas exister non plus ... c'est normal, docteur ?

Hum, hum |-( ...........

tosca a écrit:

LucMorizur a écrit:

Il faut maintenant remplacer toutes les références relatives dans votre code, par des références absolues.

Pas compris pourquoi :/
On devrait pouvoir se positionner en relatif par rapport au dossier de la page, non ?

Mmmmais oui, quel [censuré] |-((( !!!! (Je parle de moi, hein.)

Non mais évidemment !!! Il suffit tout simplement de placer la page test_err404.html dans le dossier où Piwigo est installé, pour ne plus du tout avoir besoin de modifier les références...

Exemple : http://lucmorizur.free.fr/piwigo/test2_err404.html , page écrite en deux secondes...

Quel [censuré] !

(Tout bas) Merci Tosca |-(( .......

Je modifierai mon premier message de façon à donner une "recette" plus efficace.

Dernière modification par LucMorizur (2010-06-12 11:28:00)

Hors ligne

#8 2010-06-12 11:37:46

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: Créer une page Erreur 404

LucMorizur a écrit:

Quel [censuré] !

(Tout bas) Merci Tosca |-(( .......

Me voilà rassurée ... Le passage des années n'a pas encore réduit mes neurones à néant ;-)

Hors ligne

#9 2010-06-12 18:32:44

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

Bon, après divers tests, j'ai établi la procédure suivante pour la gestion de l'erreur 404 sur mon site de tests :

_ création d'une page qui va bien avec [extension by P@t] Additional Pages ("AP"), en spécifiant "0" dans le champ "Position", pour ne pas l'afficher dans le menu de AP ;
Pour imposer une redirection automatique après une temporisation, ajouter le code JavaScript suivant dans la page AP :

Code:

<script language="JavaScript"> // <!--
function redirect() {
  setTimeout("document.location = 'http://<site>'", 7000); // 7000 soit 7 secondes
}
redirect();
// -->
</script>

_ récupération de son URL ( //lucmorizur.free.fr/piwigo/index.php?/additional_page/8 ) ;
_ je ne sais pas pourquoi, le fait d'indiquer directement cette page dans le .htaccess ne fonctionne pas :

  ErrorDocument 404 /piwigo/index.php?/additional_page/8

_ donc création d'une page PHP "index_404.php" placée à la racine du site :

Code:

<?php
header('Location: http://lucmorizur.free.fr/piwigo/index.php?/additional_page/8');
?>

_ dans le .htaccess :

  ErrorDocument 404 /index_404.php

Et ça fonctionne : http://lucmorizur.free.fr/mauvais_URL

Je pense que c'est quand même mieux.

Dernière modification par LucMorizur (2010-06-12 21:32:22)

Hors ligne

#10 2010-06-12 18:35:04

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: Créer une page Erreur 404

LucMorizur a écrit:

_ je ne sais pas pourquoi, le fait d'indiquer directement cette page dans le .htaccess ne fonctionne pas :

  ErrorDocument 404 /piwigo/index.php?/additional_page/8

Est-ce que le '?' n'aurait pas une signification particulière pour Apache ? Un caractère joker, ou quelque chose comme ça ?

Hors ligne

#11 2010-06-12 18:37:44

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

tosca a écrit:

Est-ce que le '?' n'aurait pas une signification particulière pour Apache ? Un caractère joker, ou quelque chose comme ça ?

Oui, pourquoi pas. La réaction que j'obtenais ressemblait à une page PHP utilisant une mauvaise référence de dossier racine, donc je ne sais pas.

Hors ligne

#12 2010-06-12 18:45:21

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

LucMorizur a écrit:

Bon, après divers tests, j'ai établi la procédure suivante pour la gestion de l'erreur 404 sur mon site de tests :

(...)

Je pense que c'est quand même mieux.

Cependant sur mon site principal, j'ai ajouté une redirection automatique vers l'accueil après une temporisation ( http://myr.luc.free.fr/mauvais_URL ), ce que je ne crois pas possible avec la dernière procédure décrite ici, sauf si ça se fait en JavaScript. Faudrait que je regarde.

Hors ligne

#13 2010-06-12 21:17:45

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Créer une page Erreur 404

LucMorizur a écrit:

LucMorizur a écrit:

Bon, après divers tests, j'ai établi la procédure suivante pour la gestion de l'erreur 404 sur mon site de tests :

(...)

Je pense que c'est quand même mieux.

Cependant sur mon site principal, j'ai ajouté une redirection automatique vers l'accueil après une temporisation ( http://myr.luc.free.fr/mauvais_URL ), ce que je ne crois pas possible avec la dernière procédure décrite ici, sauf si ça se fait en JavaScript. Faudrait que je regarde.

Vu, redirection automatique en JavaScript proposée dans [Forum, post 146106 by LucMorizur in topic 18018] Créer une page Erreur 404.

Dernière modification par LucMorizur (2010-06-12 21:19:21)

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact