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 post:146106.
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.
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.
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 ?
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:153 ("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 :
<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 :
<?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.
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 ;-)
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.
tosca a écrit:
LucMorizur a écrit:
Ores donc avec AP,
Ttuuuttt, Ttuuuttt !
(chacun son tour ;-))
?!
Euh... -> topic:18022 : 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à...
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 à post:146054 pour expliciter ce que fait index.php lorsque la requête qui lui est passée ne peu pas être interprétée stp ?
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
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.
;-)
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.
Bonjour ;
suite à topic:18014, 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 : post:146106.
Le pré-requis est d'utiliser extension:153 ("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é ;-) ...