Sarc Posté 8 Juin 2006 Posté 8 Juin 2006 Bonjour à tous, Après des questions à mon hébergeur concernant des problèmes d'erreur 404 personnalisé, il me répond : Sous Apache, il est possible d'avoir ses propres pages d'erreurs.Pour cela, vous devez créer un fichier .htaccess avec le contenu suivant, il sera à placé à la racine du répertoire contenant le site web. ErrorDocument 400 /errors/badrequest.html [...] ErrorDocument 500 /errors/serverr.html Cependant, les extensions .php ne peuvent être personnalisées par cette méthode. C'est au moins la réponse la plus vague que j'ai lue... Le peu de connaissances que j'ai ne m'indiquaient pas qu'une page erreur en PHP ne pouvait marcher... C'est donc seulement chez mon hébergeur ? Et comment faire pour mon erreur 404 personnalisée ? Je vais pas les renvoyer vers une page HTML, les menus ne seront pas les bons... Enfin bon, je trouve ça assez spécial comme problème !
Jeanluc Posté 8 Juin 2006 Posté 8 Juin 2006 Bonjour, Je ne vois pas trop en quoi c'est gênant de faire une page 404 personnelle en HTML pur et dur. Si pour certaines anciennes URL, tu souhaites faire un traitement spécial, tu pourrais passer par une redirection 301 (si ton hébergeur l'autorise). Question référencement, ce serait même mieux qu'une 404. Jean-Luc
Compte supprimé Posté 8 Juin 2006 Posté 8 Juin 2006 tu peux aussi, au choix : - Forcer l'interprétation des pages html - Faire un coup d'urlrewriting 404.html > 404.php
Sarc Posté 8 Juin 2006 Auteur Posté 8 Juin 2006 JeanLuc, le problème c'est que mes menus sont différents si tu es logué ou pas, et si je veux faire une page 404 avec quand même un menu comme sur les autres pages (parce que c'est, amha, un des buts de l'erreur personnalisée), je dois utiliser le PHP.. Sinon je laisse l'erreur de l'hébergeur, m'enfin, c'est pas le top. Je vais tester l'url rewriting, j'avoue que j'y avais pas pensé.. Ce serait fort que ça marche quand même ! Je vous tiens au courant. EDIT : non, en fait j'ai mal cerné le problème et mal expliqué aussi, fatigue je crois... En fait, quand je vais sur l'adresse : http://www.monsite.com/nimp.htm L'erreur 404 personnalisée est prise en compte, et je suis donc renvoyé vers cette page... Quand je vais sur l'adresse http://www.monsite.com/nimp.php Là, elle n'est pas prise en compte et on est renvoyé vers l'erreur de l'hébergeur. Encore pire, non ?..
TheRec Posté 8 Juin 2006 Posté 8 Juin 2006 Euh... là effectivement c'est troublant. En cherchant un peu, il semble que l'hébergeur gratuit Free procède ainsi (ErrorDocument pour .html fonctionne, pour .php ne fonctionne pas. Pourquoi...sûrement pour une bonne raison, et en fait c'est gratuit, alors on demande pas "pourquoi ?" ). Est-ce que par hasard c'est ton hébergeur ? Comme l'a dit ton hébergeur : Cependant, les extensions .php ne peuvent être personnalisées par cetteméthode. La réécriture n'aura aucun effet, à moins que tu veuilles réécrire TOUTES les URL se terminant par ".php", mais dans ce cas-là tu ne pourras pas appeler un script (par une URL) s'il a l'extension ".php". La règle donnerait ceci : RewriteEngine OnRewriteRule \.php$ 404.php [L] Mais cela annihile l'extension ".php" dans tes URL, c'est un choix...peut-être te convient-il. Attention dans le fichier "404.php", il FAUT envoyer l'en-tête d'une erreur 404 : header("HTTP/1.1 404 Not Found"); Ceci avant que tout autre caractère ne soit envoyé au navigateur de ton visiteur (n'importe quel caractère, même un retour de ligne) EDIT: J'ajoute que tu devrais redéfinir ton DirectoryIndex dans ton fichier .htaccess : DirectoryIndex index.html index.htm Ou tout autre page d'index... à condition qu'il ne s'agisse plus d’un fichier avec une extension en ".php", sans que tu seras redirigé vers ta page manu-militari lorsque tu essayeras d'accéder à ta page par http://www.mondomain.com/ (sans préciser le fichier) EDIT2: Évidemment, si Free ne permet pas la réécriture d'URL (ce que Dan dit, donc tu peux le croire ), tu es dans ce qu'on appelle vulgairement une impasse... et il ne te reste à peu près que tes yeux pour pleurer sur ta page 404.php
Dan Posté 8 Juin 2006 Posté 8 Juin 2006 Ton hébergeur est Free ? ils ont des serveurs spécifiques pour les pages HTML et les pages PHP. Dans l'affirmative tu ne peux rien y faire Dan
Sarc Posté 8 Juin 2006 Auteur Posté 8 Juin 2006 Non c'est 1&1, c'est d'autant plus étonnant je dirais... Parce que je pensais avoir payé pour un serveur qui fait même marcher les htaccess correctement J'avais vu que pour Free ça ne marchait pas, mais je ne comprends pas trop pour 1and1...
Compte supprimé Posté 8 Juin 2006 Posté 8 Juin 2006 En cherchant un peu, il semble que l'hébergeur gratuit Free procède ainsi (ErrorDocument pour .html fonctionne, pour .php ne fonctionne pas. Non, chez free.fr, le ErrorDocument 404 marche quelle que soit la page non trouvée (je viens de tester), et je m'en sert d'ailleurs pour faire du pseudo-urlrewriting .
TheRec Posté 8 Juin 2006 Posté 8 Juin 2006 Ok... donc cela à changé depuis 2003 On ne sait jamais...comme je n'ai pas pu tester ceci, j'ai bien dit "il semble" ... l'information date un peu, tant mieux si elle ne se vérifie plus. Effectivement pour 1&1 c'est étonnant, je n'ai pas d'expérience avec eux mais si je me fie aux avis lus sur le Hub ce prestataire me sembl-e(-ais) bon... peut-être que si tu le leur demande, il se justifieront à propos de cette limitation... personnellement je suis sur plusieurs serveur mutualisés (autres prestataires) et aucun ne présente cette limitation. Bonne chance.
Sammuel Posté 8 Juin 2006 Posté 8 Juin 2006 La réponse est donnée ici apparemment : http://forum.alsacreations.com/topic-1-149...onnaliser-.html
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant