Utiliser header() pour rediriger vers 404

Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics

bobdeo
WRInaute discret
WRInaute discret
 
Messages: 58
Inscription: 10 Jan 2004

Utiliser header() pour rediriger vers 404

Message le Dim Fév 10, 2008 13:05

Salut,

Mes urls sont de ce format :
-http://www.domaine.tld/nom-famille/nom-produit.html
Lorsque le visiteur arrive sur le site, une requête cherchant "nom-produit" dans la base est effectuée.
Lorsque cette requête ne renvoie rien, j'aimerais rediriger renvoyer un 404

J'ai cette ligne dans mon htaccess
Code: Tout sélectionner
ErrorDocument 404 http://www.domain.tld/404.php

--> ça fonctionne parfaitement

D'où ce code :
Code: Tout sélectionner
if ($numRows == 0) {
   header("Status: 404 Not Found");
   exit();
}


Quand je provoque un 404, le serveur me renvoie bien le code :
HTTP/1.1 404 Not Found
Date: Sun, 10 Feb 2008 12:01:34 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8d
X-Powered-By: PHP/5.2.1
Vary: Accept-Encoding,User-Agent
Content-Length: 0
Connection: close
Content-Type: text/html


MAIS, l'url reste inchangée et la page blanche...

Une idée ?
Merci

Spareo
WRInaute discret
WRInaute discret
 
Messages: 60
Inscription: 12 Sep 2007

Message le Dim Fév 10, 2008 13:52

C'est normal.

La ligne dans ton htaccess signifie en gros que tu dis à ton Apache :
- Si te ne peux pas délivrer la page demandé, renvois une erreur 404 et redirige le gars vers la page crée à cet effet.

Dans le cas de ton code php. Il n'y pas d'erreur 404, puisque ton script est bien trouvé par Apache. C'est ton code php qui s'occupe tout seul comme un grand d'envoyer un header 404 au client. Et c'est à ton code php de continuer tout seul comme un grand à rediriger le client.

Rajoute la ligne suivante dans ton php :
include("404.php");

Après le premier header, et avant le exit.

bobdeo
WRInaute discret
WRInaute discret
 
Messages: 58
Inscription: 10 Jan 2004

Message le Dim Fév 10, 2008 14:18

Nickel ! tout compris !
Merci beaucoup pour ton aide et tes explications.


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Message le Dim Fév 10, 2008 22:17

Clair, net, précis... une petite reco pour Spareo ;)

tonguide
WRInaute passionné
WRInaute passionné
 
Messages: 1407
Inscription: 28 Nov 2003

Message le Mer Fév 13, 2008 9:02

Accessoirement, il est pas conseillé de mettre "http://www.domain.tld" dans le htaccess mais le chemin absolu.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google SketchUp

  • Analyseur d'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Générateur de mots-clés
    Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
  • Test de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités