TheRec
samedi 14 juillet 2007 à 17:02
CITATION(allegro @ samedi 14 juillet 2007 à 17:02)

En fait ca me fait penser (si je ne me trompe pas) quelqu'un de mal intentionné pourrait affecter le page rank d'un site en postant des liens vers lui comportant des parametres get additionnels et fantaisiste. Seule parade, le site cible doit lui meme rediriger les url fantaisistes vers l'url original.
C'est ce que je m'évertue à te dire, la page "http://www.urlcible.com?r=1" redirigera vers ta page de destination sans le ?r=1. Par exemple en PHP te ferais ainsi au tout début de la page de destination :
CODE
<?php
if($_GET['r']) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.urlcible.com');
exit();
}
// Le reste de ta page cible sera en dessous dans le cas, ainsi si ?r=1 n'a pas été défini dans l'URL la page se charge normalement
Les moteurs de recherche suivent cette redirection et n'indexent que la page en fin de redirection... sinon comme tu le dis les gens pourraient pourrir l'index (enfin, à priori les moteur de recherchent préviennent cela et c'est aussi du devoir du programmeur d'y penser en renvoyant une erreur HTTP 404 lorsqu'une page n'existe pas par exemple parce que les paramètres GET ne correspondent à rien par rapport à l'architecture du site).
Maintenant, le fait est que rediriger simplement l'URL ?r=1 vers l'URL cible ne t'avance pas beaucoup, par contre si juste avant d'envoyer ce statut "301" tu crées une variable de session (cela implique soit d'utiliser le cookies, soit le Session ID... je sais cela pose d'autres problèmes) indiquant qu'il y a eu une redirection tu pourras la récupérer et l'exploiter comme tu le souhaite.
Je ne vois pas d'autre solution plus fiable... dans tous les cas tu as raison si tu laisse pointer l'URL ?r=1 et sans ?r=1 sur le même contenu les moteurs détecteront ceci comme du duplicate content. Mais si tu fais une redirection après la première redirection, tu n'as pas ce problème, comme je viens de l'expliqurer.