.htaccess [Résolu]

Signaler
Messages postés
36
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
4 avril 2013
-
Messages postés
36
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
4 avril 2013
-
Bonsoir à tous,
Je sollicite votre aide...

Je souhaite, comme dit dans le titre, rediriger certaines pages d'erreurs vers des pages réécrites.

J'ai donc créé un .htaccess à la racine de mon site (où se trouve également le fichier index.php) et dedans j'ai écris :

#Personnalisation des erreurs
ErrorDocument 404 index.php?module=erreurs&action=erreur_404


Mais lors d'une erreur 404, s'affiche à l'écran en toutes lettres le nom du fichier appelé, soi : "index.php?module=erreurs&action=erreur_404"

J'ai essayé
#Personnalisation des erreurs
ErrorDocument 404 /index.php?module=erreurs&action=erreur_404


qui me renvoit à la racine de mon wamp en local
(je ne sais pas si c'est clair).

J'en profite du même coup pour demander autre chose dans le même registre : y a t'il moyen de faire une page d'erreur réécrite pour toutes les autres erreurs non traitées ?

Merci d'avance de votre aide.

5 réponses

Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

Il te manque le dossier dans lequel se trouve le site.

J'utilie WampServer et voici mon arborescence :
www
|_ www
|_ SiteTest

donc, pour mon exemple, on note :
ErrorDocument 404 /SiteTest/404.html

ou (si tu préfères l'écriture pour une utilisation dynamique (et simplifier lorsque tu changes de skin) :
ErrorDocument 404 /SiteTest/index.php?module=erreurs&action=erreur_404
Bonjour,
Je crois que tu te compliques la vie.

pourquoi faire :
ErrorDocument 404 index.php?module=erreurs&action=erreur_404


quand tu peux faire :
ErrorDocument 404 404.html


Et oui tu peux faire une page pour chaque erreurs
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

Je corrige, mon aborescence est la suivante :
www/SiteTest/[le_site]
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
bonjour

htaccess

#Personnalisation des erreurs
ErrorDocument 404 http://localhost/SiteTest/index.php?module=erreurs&action=erreur_404


<?php
/* http://localhost/SiteTest/index.php?module=erreurs&action=erreur_404; */
if(isset($_GET['module'],$_GET['action']) && $_GET['action']==='erreur_404'){
echo '404 ok';exit;
}else{
/*rien ou suite code ...*/
}
?>



mais je crois que JejeScript a raison c'est bien COMPLIQUE voir hasardeux


Bonne programmation !
Messages postés
36
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
4 avril 2013

Bonjour à tous,
Merci JejeScript, sylvain64520, et cod57 de vos réponses tout d'abord.

Quelques explications s'imposent...

Commençons par dire que je fais souvent compliqué quand je peux faire simple parce que cqfd je ne suis pas une pro du code du tout... Bref vos lumières me sont précieuses pour y voir clair.

Ensuite, pour répondre à JejeScript : je fais ainsi car j'appelle toutes mes pages depuis une page d'index, appelant ht de page, menu & pied de page.
"Et oui tu peux faire une page pour chaque erreurs", c'est d'ailleurs plus ou moins ce que je fais. J'ai un array(n°_erreur => msg_erreur), et en fonction de ce qui se trouve dans le lien, j'affiche tel ou tel message. Dans mon .htaccess, j'associe chaque erreur à un lien différent.

Je pensais que lorsqu'on mettait un lien dans le .htaccess avec un chemin relatif, c'était "plus sécurisé". J'avais cru lire ça quelque part dans le fil de mes recherches. ça évite (si mes souvenirs sont bons) de donner l'arborescence du site lors de recherches d'un utilisateur mal intentionné.

Le truc c'est que je bricole en local (d'où l'intérêt du lien relatif en plus).

Ma solution va donc être celle de sylvain64520 (merci !):

ErrorDocument 404 /Site/index.php?module=erreurs&action=erreur_404


Merci de votre aide à tous, Sujet résolu. Excellente soirée