après url rewriting, éviter doublon avec url par variable

Nouveau WRInaute
Bonjour,
maintenant que j'ai mis en place l'url rewriting, je voudrais éviter d'avoir des doublons.
Pour cela je voudrais faire des redirections 301 sur une dizaine de pages, mais impossible de le faire avec un htaccess:

voici mon code

Code:
 RewriteRule ^index.php?page=occas elevateur-occasion.html [R=301,L]

mais cela ne fonctionne pas.
Comment faire pour avoir une redirection 301 avec les pages sous la forme index.php?page=var en une adresse sans variable du type petitefleur.html ou lejolitrain.html
 
WRInaute passionné
Il me semble que c'est impossible via le fichier .htaccess, car à partir du moment où la ressource existe, Apache ne va pas analyser le fichier htaccess.

Dans ton cas, il faudrait faire un petit script PHP qui redirige en fonction de la variable $_SERVER['request_uri'].
 
Nouveau WRInaute
et pour la redirection en 301 tu proposes quoi comme code?

Sinon ca ne risque pas de poser problème puisque actuellement j'utilise toujours ces pages car mon url rewriting redirige vers index.php?page=var
 
WRInaute passionné
Quelque chose du genre :
Code:
switch($_SERVER['REQUEST_URI'])
{
case "page1.php?val=toto":
  {
  header("Status: 301 Moved Permanently");
  header("Location: http://".$_SERVER   ['SERVER_NAME']."/toto.html"); 
exit();
break;
  }

case "page1.php?val=titi":
  {
  header("Status: 301 Moved Permanently");
  header("Location: http://".$_SERVER   ['SERVER_NAME']."/ttiti.html"); 
exit();
break;
  }

default:{break;}

}

Pas du tout testé, je ne sais pas si REQUEST_URI ne renvoi pas le .php même avec rewrite donc à voir.

Si tu as trop de fichiers peut être peux tu passer via une expression régulière.

Voila quelques éléments.

Bon courage ;)
 
WRInaute discret
Perso, j'ai mis en place l'url rewrinting et je n'ai pas pratiqué de script pour rediriger mes anciennes pages, donc mes pages sont accéssibles par 2 url, je n'ai jamais eu de duplicate content,
Je pense que google comprends parfaitement se genre manip et ne pénalise pas. Qu'en pensez-vous?
 
WRInaute impliqué
tophus a dit:
Perso, j'ai mis en place l'url rewrinting et je n'ai pas pratiqué de script pour rediriger mes anciennes pages, donc mes pages sont accéssibles par 2 url, je n'ai jamais eu de duplicate content,
Je pense que google comprends parfaitement se genre manip et ne pénalise pas. Qu'en pensez-vous?

c'est assez risqué : Google, ce n'est pas vraiment intelligent, il voit une adresse avec un contenu et une autre avec le même contenu, je ne crois pas qu'il va "réfléchir" pour savoir si c'est à cause de l'UR : il va en canoniser une et mettre l'autre à la corbeille.

C'est une bonne idée de faire des 301. (moi je ne sais pas le faire, désolé...)
 
WRInaute occasionnel
RewriteRule ne gère pas (directement) les paramettre d'une URL donc ta règle ne se valide jamais.

Il est possible de bidouiller (voir sur le forum) mais tu risque d'être confronté à un problème de boucle infini.

Tout ça pour dire que j'obterais pour la solution de mr_go, dans son deuxieme message. C'est d'ailleur ce que j'utilise.
 
Nouveau WRInaute
merci pour vos solutions, j'ai utilisé celle de mr_go et ça marche parfaitement.

Maintenant google remplace toutes les anciennes pages par les nouvelles.

Googlebot est déjà passé 2x fois aujourd'hui (0h00 et 8h58) :D
 
Discussions similaires
Haut