.htaccess et erreur 404 en local (avec WampServer Version 2)

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

.htaccess et erreur 404 en local (avec WampServer Version 2)

Message par GizMecano »

Hello,

N'étant pas un grand spécialiste du fichier .htaccess et de ses subtilités, je me retrouve face à un problème que je ne parviens pas à résoudre pour faire quelque chose de tout simple.

Avec le .htaccess suivant :

Code : Tout sélectionner

SetEnv PHP_VER 5
ErrorDocument 404 /erreur.php
J'obtiens la réponse suivante :
Not Found
The requested URL /site/test.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Avec le .htaccess suivant :

Code : Tout sélectionner

SetEnv PHP_VER 5
ErrorDocument 404 erreur.php
J'ai une réponse encore plus sibylline, à savoir :
erreur.php
Comme je ne vois pas en quoi mon simple .htaccess serait défectueux, je pencherais pour un problème avec ma configuration de WAMP...

Quelqu'un a-t-il déjà rencontré ce problème ? Si c'est ma configuration de WAMP en local qui pose problème, quelqu'un aurait-il une idée de ce qu'il convient de modifier ?

D'avance merci pour vos lumières.

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: .htaccess et erreur 404 en local (avec WampServer Versio

Message par calimo »

Hello,
GizMecano a écrit :

Code : Tout sélectionner

SetEnv PHP_VER 5
ErrorDocument 404 /erreur.php
J'obtiens la réponse suivante :
Not Found
The requested URL /site/test.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Question bête : qu'obtiens-tu si tu affiches le document /erreur.php directement ? Es-tu sûr qu'il est bien en place où il faut, qu'il n'y a pas une coquille dans le nom (p.ex error.php) ?
GizMecano a écrit :Comme je ne vois pas en quoi mon simple .htaccess serait défectueux, je pencherais pour un problème avec ma configuration de WAMP...
Du moment que tu as AllowOverride All (ou même AllowOverride ErrorDocument) je ne vois pas trop ce qui pourrait foirer à ce niveau.
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Re: .htaccess et erreur 404 en local (avec WampServer Versio

Message par GizMecano »

Hello,
calimo a écrit :Question bête : qu'obtiens-tu si tu affiches le document /erreur.php directement ?
J'obtiens bien la page d'erreur que je cherche à afficher.
calimo a écrit :Es-tu sûr qu'il est bien en place où il faut, qu'il n'y a pas une coquille dans le nom (...) ?
Il n'y a pas de coquille dans le nom, mais je pense que tu pointes du doigt mon erreur à propos de sa position.

En fait, en testant sur serveur, je me suis aperçu que les mêmes erreurs se reproduisaient. Donc, a priori, c'est bien là le problème, sachant que je ne travaille pas sur le répertoire racine, mais dans un sous-répertoire : quand je conserve le "/" ou que j'indique l'adresse avec le répertoire, ça rentre (presque) dans l'ordre (presque, parce que la page affichée est bien celle d'erreur, mais que l'adresse indique toujours la page erronée).

Existe-il un moyen d'avoir accès à la bonne position à la fois en local et en distant, par exemple avec une réécriture utilisant quelque chose du genre {HTTP_HOST} ? Et si tel est le cas, le module de réécriture doit-il être placé avant ou après la redirection ?

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: .htaccess et erreur 404 en local (avec WampServer Versio

Message par calimo »

GizMecano a écrit :En fait, en testant sur serveur, je me suis aperçu que les mêmes erreurs se reproduisaient. Donc, a priori, c'est bien là le problème, sachant que je ne travaille pas sur le répertoire racine, mais dans un sous-répertoire : quand je conserve le "/" ou que j'indique l'adresse avec le répertoire, ça rentre (presque) dans l'ordre (presque, parce que la page affichée est bien celle d'erreur, mais que l'adresse indique toujours la page erronée).
Tu veux dire que tu veux une redirection (genre 302 Found) ? Dans ce cas selon la doc tu dois mettre l'adresse complète (avec http://) mais dans ce cas tu perdras le message d'état (404) (à moins de le transmettre avec la redirection), donc l'erreur ne sera plus détectée comme telle.
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Re: .htaccess et erreur 404 en local (avec WampServer Versio

Message par GizMecano »

Hello,
calimo a écrit :Tu veux dire que tu veux une redirection (genre 302 Found) ?
Si on peut appeler "redirection" l'affichage de la page d'erreur en cas de saisie d'une page inexistante, je présume qu'on peut dire oui.
calimo a écrit :Dans ce cas selon la doc tu dois mettre l'adresse complète (avec http://) mais dans ce cas tu perdras le message d'état (404) (à moins de le transmettre avec la redirection), donc l'erreur ne sera plus détectée comme telle.
OK, je vois. Donc, pas possible de paramétrer quelque chose qui puisse fonctionner identiquement en local et sur le serveur distant (je m'en doutais, ceci dit).

Merci pour le lien, en passant (en français, c'est un peu plus clair quand même...)

Et pour réécrire l'adresse de la page d'erreur, je présume qu'on doit le faire avant d'insérer le ErrorDocument 404 pour qu'il soit pris en compte, non ?

Pour prendre un petit exemple, à partir de ton propre site, la page http://x.r.name/nexistepas.html renvoie une erreur 404 (sans changer l'URL de la page) alors que la page http://x.r.name/blog/2010/08/29/the-sci ... rry-potter renvoie une erreur de requête (toujours sans changer l'URL).

Comment procéderais-tu si tu voulais que ces deux pages erronées renvoient à une erreur 404 en affichant http://x.r.name/404 comme URL dans la barre d'adresse par exemple ?

En espérant avoir été assez clair sur les interrogations que je me pose...

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: .htaccess et erreur 404 en local (avec WampServer Versio

Message par calimo »

GizMecano a écrit :Comment procéderais-tu si tu voulais que ces deux pages erronées renvoient à une erreur 404 en affichant http://x.r.name/404 comme URL dans la barre d'adresse par exemple ?
Si cette page est un script, tu peux en modifier le statut, par exemple en php avec un header("HTTP/1.0 404 Not Found").
Je ne sais pas si le fait qu'il y ait d'abord une redirection indique une page valide n'est pas problématique pour les moteurs de recherches… je ne pense pas si la suivante renvoie bien le code 404.

PS : c'est pas cool de rediriger les erreurs : difficile pour l'utilisateur de corriger une coquille dans l'adresse s'il l'a tapée à la main ou qu'il a suivi un lien invalide (par exemple qui contenait la virgule de fin de phrase, etc) :wink: Perso je laisse les erreurs 404 s'afficher avec la mauvaise adresse : je ne vois pas en quoi ça poserait problème.

Edit: le deuxième exemple "erreur de requête" est géré au niveau du script lui-même, qui renvoie un état 404, pas par apache (qui ne fait que transmettre l'état mais n'utilise pas ErrorDocument puisqu'il (apache) a bien trouvé le document !).
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité