Bonjour,
Je met actuellement en place une redirection en cas d'erreur 404.
Mais je me m’aperçois de comportement différents suivant la méthode utilisé.
Exemple : je fait une erreur de saisis pour accéder la page contact => contat.html
Pour traiter ça j'ai mis dans mon fichier de traitement :
Avec l’analyseur d'entête la page contat.html retourne : HTTP/1.1 302 Moved Temporarily
et la page (erreur-electric.php) qui affiche un message pour le visiteur retourne : HTTP/1.1 200 OK
Ce qui est fort ennuyeux car auccune page informe le moteur de recherche que l'url n'est pas bonne.
Par contre si je modifie mon code php comme ceci :
Je ne suis pas redirigé sur la page (erreur-electric.php). Je reste sur la page contat.html mais j'ai bien un : HTTP/1.1 404 Not Found.
Autre test, j'ai remis le code initial et j'ai ajouté en entête de la page "erreur-electric.php" : header("HTTP/1.1 404 Not Found", false, 404);
Ainsi erreur-electric.php retourne bien : HTTP/1.1 404 Not Found.
Donc mes questions sont :
1 - Pourquoi si j'utilise comme argument dans le header() "Status" au lieu de "HTTP/1.1 ...." la redirection ne se fait pas ?
2 - Dans le 1er cas, les moteurs auront comme instruction une redirection temporaire sur une page qui valide mais inutile car spécifique en cas d'erreur de navigation. Donc inutile et surement mauvais pour le référencement ?!
3 - Quel est la bonne méthode ?
Merci
Je met actuellement en place une redirection en cas d'erreur 404.
Mais je me m’aperçois de comportement différents suivant la méthode utilisé.
Exemple : je fait une erreur de saisis pour accéder la page contact => contat.html
Pour traiter ça j'ai mis dans mon fichier de traitement :
Code:
header("HTTP/1.1 404 Not Found", false, 404);
header('Location: pages/erreur-electric.php');
exit();
et la page (erreur-electric.php) qui affiche un message pour le visiteur retourne : HTTP/1.1 200 OK
Ce qui est fort ennuyeux car auccune page informe le moteur de recherche que l'url n'est pas bonne.
Par contre si je modifie mon code php comme ceci :
Code:
header("Status: 404 Not Found", false, 404);
header('Location: pages/erreur-electric.php');
exit();
Autre test, j'ai remis le code initial et j'ai ajouté en entête de la page "erreur-electric.php" : header("HTTP/1.1 404 Not Found", false, 404);
Ainsi erreur-electric.php retourne bien : HTTP/1.1 404 Not Found.
Donc mes questions sont :
1 - Pourquoi si j'utilise comme argument dans le header() "Status" au lieu de "HTTP/1.1 ...." la redirection ne se fait pas ?
2 - Dans le 1er cas, les moteurs auront comme instruction une redirection temporaire sur une page qui valide mais inutile car spécifique en cas d'erreur de navigation. Donc inutile et surement mauvais pour le référencement ?!
3 - Quel est la bonne méthode ?
Merci