Aller au contenu

Sujets conseillés

Posté

Dans mon fichier .htaccess j'ai :

ErrorDocument 404 /error404.php

Dans mon fichier error404.php pendant longtemps j'ai eu :

header("location: h**p://www.monsite.com"); 
exit;

Le comportement pour les visiteurs me convient tout à fait, ils sont redirigés à la racine de mon site, et dans leur barre d'adresse ils ont l'url de la racine de mon site.

Par contre grâce à l'outil http-viewer du HUB j'ai réalisé que mon traitement renvoyais un code 302 au visiteur, et dans le cas des moteurs, il vaudrait mieux un code 404. Du coup j'ai remplacé le code dans mon fichier error404.php par ça :

include('index.php');

Cela affiche la racine de mon site, renvoi le code 404, mais l'url erronée reste affichée dans la barre. A priori c'est ce que fait le HUB, donc je me dis que cela doit être bien.

Mais voila le problème, lorsque le visiteur fait une erreur du type h**p://www.monsite.com/rep/nimportequoi l'erreur 404 se déclenche bien, le code HTML de la racine de mon site s'affiche bien, mais pas les images, ni le css, car leur chemin est faussé par le fait qu'on est toujours dans le répertoire /rep/ (qui existe).

Que faut il faire ?

Sur le HUB, c'est bien géré, car les erreurs à la racine du site font la même chose que dans /outils/

Posté

C'est logique que tu aies une 302 vu que ta dernière redirection est basée sur header("location: ...")

Et effectivement, ce n'est pas correct.

Si tu fais un include, assure-toi que dans le fichier que tu inclus tu aies la balise <base href="..."> comme ça tes images et CSS seront correctement chargés.

Posté
Si tu fais un include, assure-toi que dans le fichier que tu inclus tu aies la balise <base href="..."> comme ça tes images et CSS seront correctement chargés.

Merci Dan, j'ai cru pendant un instant que j'allais devoir refaire tout mon site en adresse absolu !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...