Aller au contenu

Redirection 404 par .htaccess/php pas referencé par google


fnicollet

Sujets conseillés

Bonjour à tous,

voila, j'ai crée mon site de présentation de jeux flash que j'ai crée. Pour cela, j'utilise une redirection 404 par .htaccess. il ne contient que 2 lignes :

AddType x-mapp-php5 .php

ErrorDocument 404 /redir.php

la première sert à renommer mes fichiers php en php5 (je suis chez 1&1) pour qu'il me passe sur la bonne version de php et la seconde effectue ma redirection vers une page redir.php qui contient uniquement

<?php

session_start();

?>

<?php

$url = $_SERVER['REQUEST_URI'];

$tab_url = explode ("/",$url);

$param_url1 = $tab_url[1];

$param_url2 = $tab_url[2];

$param_url3 = $tab_url[3];

$param_url4 = $tab_url[4];

include_once("index.php");

?>

Ce script attrape donc les differents paramètres de l'url et les stocke dans un tableau puis j' include l'index. Cet index affiche la bonne page en fonction des variable $tab_url[1],$tab_url[2],.... avec des switch{}.

Le script fonctionne parfaitement à l'utilisation mais pourtant google ne me référence pas mes pages. Google Sitemap m'indique que l'url de base, http://www.pixtiz.com/ est vue comme 404 (Not found).

Quand je fais un test de header avec l'outil WRI (http://www.webrankinfo.com/outils/header.php),

http://www.pixtiz.com/ me retourne une header OK de type 200 mais si j'essaie avec une url à traduire du genre http://www.pixtiz.com/fr/presentation, le test me donne un header 404.

Voila, je ne comprend pas trop ce qui se passe, et j'ai lu beaucoup de posts différents, certains parlent d'un fichier robots.txt a la racine du site, d'autres parlent de faire :

header("HTTP/1.0 200 OK");

header('Location: /article.php?id='.$id);

Si vous avez une idée ou que vous avez déjà rencontré ce problème, donnez-moi un coup de main s'il vous plait.

Merci d'avance !

fabien

Lien vers le commentaire
Partager sur d’autres sites

j'utilise une redirection 404 par .htaccess.
C'est bien là le problème. Le code 404 n'est pas un code de redirection, mais un code d'erreur et on peut éventuellement afficher une page d'erreur personnalisée (ce que tu appelles "redirection 404"). Comme Google et les autres moteurs n'indexent pas les pages d'erreur, aucune de ces pages ne sera indexée.

Donc, comme le dit xgamer, remplace cela par une redirection 301 (une vraie redirection ;) ).

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Bon j'ai trouvé la solution, comme je suis chez 1and1,

j'ai mon htaccess avec un rewritebase /

et puis ca me balance toujours sur le redir.php

AddType x-mapp-php5 .php

Options +FollowSymlinks

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ redir.php [L,QSA]

</IfModule>

voila comme ca mon traitement par le index est mis en oeuvre à chaque fois :D

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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