Version complète: sur le forum Webmaster Hub : .htaccess php 404
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
yankey
Bonjour,

Je n'arrive décidemment pas à faire rediriger le navigateur sur la page d'erreur 404 spécifiée dans le .htaccess quand j'utilise un code php header("HTTP/1.0 404 Not Found"); ou avec Status, ça marche pas non plus. Sur le site les url sont réecrites.

Sur .htaccess j'ai ceci:

ErrorDocument 404 /404.php

et si je place un code :

if ($url!=$ref-url)
{
header("HTTP/1.0 404 Not Found");
exit();
}

en haut de page.php, il me renvoie sur une 404 vide (page introuvable HTTP 404) , mais pas la page 404.php que j'ai définie dans le .htaccess...

mais si je teste une url de type: truc.html, page qui n'existe pas sur le serveur, il me renvoie bien sur la page 404.php.

J'ai essayé avec un :
header("Location: http://www.nomdedomaine/404.php");

mais à ce moment là j'obtiens une page introuvable qui ne contient pas la mention HTTP 404, ce qui me semble pas très bon pour les moteurs et toujours pas ma 404.php... wacko.gif

Merci à vous smile.gif
theprogrammeur
J'ai pas compris pourquoi tu utilises le PHP. Avec un .htaccess, c'est suffisant pour les pages d'erreur, tu n'as pas besoin de rajouter du code dans ta page!
Dans ton fichier .htaccess, tu dois taper ceci:
CODE
ErrorDocument 404 mon_erreur_404.php
Jeanluc
Essaie quelque chose comme ceci:
CODE
if ($url!=$ref-url)
{
header("HTTP/1.0 404 Not Found");
include ('/repertoire/404.php');
exit();
}


Jean-Luc
yankey
Oui.
J'avais testé avec un include, il suffisait de juste de le placer après le header... blush.gif ...

Merci beaucoup smile.gif
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.