Version complète: sur le forum Webmaster Hub : rediriger un lien externe pointant vers son site?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
baulet
bonjour,

je viens de découvrir qu'un "indélicat" fait pointer un lien vers un site, arguant qu'il en est le concepteur.

est ce possible de rediriger les visiteurs provenant de ce lien vers une page spécifique?

merci d'avance.

wink.gif
captain_torche
Oui, il faut que tu testes le referer.
Quel langage utilises-tu sur tes sites ?
baulet
bonjour, merci de ta réponse rapide.

j'utilise du php, mais juste pour faire de "l'include".

le lien indélicat pointe vers la racine du site.

merci smile.gif
Jeanluc
Il y a probablement moyen d'agir au moyen du fichier .htaccess. Ceci devrait marcher :
CODE
RewriteCond %{HTTP_REFERER} www.mauvais_site.com [NC]
RewriteRule .* http://www.ton_site.com/page_d_avertissement.html [L, R=301]

Jean-Luc
baulet
merci !

je vais essayer dès que possible et je vous tiens au courant ! smile.gif
baulet
désolé, ça ne fonctionne pas... (code de jean luc)

dois je ajouter "rewrite engine on" ou quelquechose comme cela?

edit:

dans ce htaccess, il n'y a que des redirectpermanent, il n'y a pas de regles de ré écritures.

edit2:

j'ai essayé avec l'url complete de l'indélicat, c'est pareil
captain_torche
Ajoute ceci juste avant :
CODE
RewriteEngine On


PS : pourrais-tu m'envoyer l'url du site indélicat en MP ?
baulet
j'ai esayé...sans succès...

? unsure.gif
Jeanluc
Il y a peut-être une bulle, mais je ne vois pas où...

Le site en question fait bien un lien <a href="...">...</a> vers ton site, tu ne masques pas le referrer dans ton navigateur et tu fais le test en cliquant sur le lien sur la page du "mauvais" site ?

Si possible, vérifie aussi que le referrer est bien présent dans les lignes correspondantes du fichier log de ton site.

Jean-Luc
baulet
oui, il y a bien un href:

<a href="http://www.notre-site.fr" target="_blank">notre-site</a>

et je fais comme tu le préconises pour tester la redirection.

je n'ai pas accès aux logs...
Jeanluc
Il y a peut-être autre chose dans ton .htaccess qui bloque ? Essaie avec les 3 lignes au tout début de ton .htaccess. Si ça ne suffit pas, envoie-moi un message privé avec le contenu de ton .htaccess.

Jean-Luc
Dadou
le mod_rewrite n'est peut etre pas activé sur le serveur
baulet
bonjour Dadou,

je crois que si, car avant il y avait un CMS qui "rewritait" sur cet hébergement.
j'ai repris l'ancien htaccess pour voir si il ne manquait pas qqchose.

il manque juste "Options +FollowSymLinks"
est ce en rapport?

(RewriteBase est commenté)

merci
Jeanluc
Mauvaise nouvelle ! Il semble que certaines serveurs de NFrance ne supportent pas l'emploi de HTTP_REFERER dans .htaccess (voir http://forum.nfrance.com/p18248-17-06-2008-09:18:13.html ).

Jean-Luc
captain_torche
Reste la solution PHP wink.gif
Essaye de mettre ça dans le code de ta page d'accueil :
CODE
<?php
echo 'Referer : '.$_SERVER['HTTP_REFERER'];
?>

Pour le tester, bien entendu, il faut cliquer depuis un site qui n'est pas le tien.
baulet
merci de l'info, jean luc...

je teste des que possible la captain soluce smile.gif
baulet
captain ! ça marche !

que faut il faire ensuite?

merci encore smile.gif
captain_torche
Essaye quelque chose du genre :
CODE
<?php
if($_SERVER['HTTP_REFERER'] == 'www.lesite.com')
echo 'code HTML de ton message';
die();
?>
baulet
merci smile.gif j'essaierai demain wink.gif
captain_torche
Juste pour info : tu as pris contact avec l'indélicat ? Sait-on jamais ...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.