Version complète: sur le forum Webmaster Hub : page d'erreur 404 et .htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
centreurope.org
bonjour,
je vois que les différents articles et posts insistent sur le fait de ne pas mettre le http: //www.domaine.com pour les erreurs 404.
Mais si je ne le mets pas, la redirection ne fonctionne pas pour les pages qui incluent un répertoire (cela fonctionne pour http: // www.lesmeilleurs.fr/blalbla mais pas http: // www.lesmeilleurs.fr/blalbla/bla/blal.htm

ce code ne marche pas

RewriteEngine On
ErrorDocument 404 /index.htm
RewriteCond %{HTTP_HOST} !^www\.lesmeilleurs\.fr [NC]
RewriteRule (.*) http://www.lesmeilleurs.fr/$1 [QSA,R=301,L]

ce code marche (mais n'est pas "propre", si j'ai bien compris)

RewriteEngine On
ErrorDocument 404 http://www.lesmeilleurs.fr/index.htm
RewriteCond %{HTTP_HOST} !^www\.lesmeilleurs\.fr [NC]
RewriteRule (.*) http://www.lesmeilleurs.fr/$1 [QSA,R=301,L]

merci d'avance
david
Jeanluc
CITATION(centreurope.org @ samedi 9 décembre 2006, 22h41) *
ce code marche (mais n'est pas "propre", si j'ai bien compris)
CODE
RewriteEngine On
ErrorDocument 404 http://www.lesmeilleurs.fr/index.htm
RewriteCond %{HTTP_HOST} !^www\.lesmeilleurs\.fr [NC]
RewriteRule (.*) http://www.lesmeilleurs.fr/$1 [QSA,R=301,L]
Ce code ne marche pas vraiment car, en réalité, il fait une redirection 302 vers http://www.lesmeilleurs.fr/index.htm au lieu de renvoyer un code 404 et d'afficher la page d'adresse http://www.lesmeilleurs.fr/index.htm. whistling.gif

Jean-Luc
centreurope.org
CITATION(Jeanluc @ samedi 9 décembre 2006, 23h18) *
Ce code ne marche pas vraiment car, en réalité, il fait une redirection 302 vers http://www.lesmeilleurs.fr/index.htm au lieu de renvoyer un code 404 et d'afficher la page d'adresse http://www.lesmeilleurs.fr/index.htm. whistling.gif

Jean-Luc


merci Jean-luc,
mais je ne suis pas bien sûr de comprendre. Je devrais donc mettre 302 à la place de 404 ?
je n'ai jamais très bien compris l'intérêt des redirections 302, mais j'ai cru comprendre qu'elles sont très risquées ?
bonne soirée
david
Jeanluc
Non, il faut éviter la 302 et envoyer un vrai code 404 avec le .htaccess comme ceci:
CODE
RewriteEngine On
ErrorDocument 404 /
RewriteCond %{HTTP_HOST} !^www\.lesmeilleurs\.fr [NC]
RewriteRule (.*) http://www.lesmeilleurs.fr/$1 [QSA,R=301,L]

Ce code est pratiquement celui de ta première version et c'est le bon. S'il n'agit pas sur certains répertoires, tu pourrais peut-être voir ce que ça donne si tu le recopies dans ces répertoires.

Jean-Luc
centreurope.org
ah merci, je comprends mieux.
en tout cas, c'est vraiment sympa Jean-Luc !
ça fait plusieurs que tu m'offres des réponses très utiles. Je vais t'appeller Dan n°2 :-)
bonne journée
david
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.