Page 1 sur 1

erreur 404

Posté : 22 août 2009, 17:34
par fabrice88250
Bonjour,
j'ai créé un .htaccess dans lequel j'ai mis : ErrorDocument 404 / erreur_404.php
j'ai créé un page personalisée erreur_404.php que j'ai mis à la racine de mon site internet.

dans la logique si je rentre une mauvaise adresse sur mon site internet, je devrais avoir ma page d'erreur 404 qui s'affiche non ?
Je n'ai donc pas ma page perso 404 qui s'affiche et c'est toujours celle de mon hebergeur qui s'affiche.

Savez vous et pouvez vous me dire d'ou peut provenir mon erreur ?

Re: erreur 404

Posté : 22 août 2009, 17:38
par Victor BRITO
Corrige ton .htaccess comme suit :

Code : Tout sélectionner

ErrorDocument 404 /erreur_404.php
sans espace après le /.

Re: erreur 404

Posté : 22 août 2009, 17:43
par fabrice88250
je viens d'essayé et meme sans l'espace ma page n'est pas prise en compte.

Re: erreur 404

Posté : 22 août 2009, 17:52
par Victor BRITO
Es-tu sûr que ton hébergeur accepte les fichiers .htaccess ? En outre, vérifie si ton hébergeur ne propose pas « sa propre méthode » pour ajouter une page d'erreur 404 personnalisée.

Quant au fichier .htaccess, il doit être édité en ASCII (pas d'édition en UTF-8).

Re: erreur 404

Posté : 22 août 2009, 18:07
par fabrice88250
oui il accept bien les .htaccess car je l'utilise pour mettre des mot de passe sur des repertoires de temps en temps.
Quant au fichier .htaccess, il doit être édité en ASCII (pas d'édition en UTF-8).
et bien en principe je fais mes htaccess avec notepad et jusqu'a présent sa ne ma jamais posé de problème.

Re: erreur 404

Posté : 22 août 2009, 18:28
par Victor BRITO
Essaie en indiquant l'URL absolue de ta page 404 :

Code : Tout sélectionner

ErrorDocument 404 http://tonsite.com/erreur_404.php

Re: erreur 404

Posté : 22 août 2009, 18:32
par fabrice88250
pareil avec l'url absolue.

par contre j'ai trouvé une autre solution qui fonctionneet qui prend les fichiers html htm et php.

Code : Tout sélectionner

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) /errors/404.php ErrorDocument 400 /errors/404.php ErrorDocument 401 /errors/404.php ErrorDocument 403 /errors/404.php ErrorDocument 404 /errors/404.php ErrorDocument 500 /errors/404.php RemoveType x-mapp-php4 .html
C'est un code que j'ai trouvé en passant par google mais je ne le comprend pas. En tout cas sa fonctionne mais pourquoi ?

Re: erreur 404

Posté : 22 août 2009, 18:47
par Victor BRITO
par contre j'ai trouvé une autre solution qui fonctionneet qui prend les fichiers html htm et php.

Code : Tout sélectionner

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) /errors/404.php ErrorDocument 400 /errors/404.php ErrorDocument 401 /errors/404.php ErrorDocument 403 /errors/404.php ErrorDocument 404 /errors/404.php ErrorDocument 500 /errors/404.php RemoveType x-mapp-php4 .html
C'est un code que j'ai trouvé en passant par google mais je ne le comprend pas. En tout cas sa fonctionne mais pourquoi ?
Explication : si aucun fichier (!-f) ou aucun répertoire (!-d) n'est trouvé pour la requête demandant un nom de fichier ou de répertoire (les deux conditions RewriteCond %{REQUEST_FILENAME}), alors la requête fait l'objet d'une réécriture (RewriteRule) qui la redirige vers ta page d'erreur personnalisée. Quant à la ligne RemoveType, elle ne me semble pas utile (elle sert uniquement à retirer un type MIME de la liste de ceux que le serveur doit traiter).

En tout cas, pour savoir pourquoi ton hébergeur ne prend pas en charge ta page 404 avec la seule directive ErrorDocument, le mieux est d'entrer en contact avec le support technique de ton hébergeur.