[Résolu] HTTP_REFERER

Nouveau WRInaute
Bonjour à tous,
Je débute dans le "rewritage", mais je butte complètement sur un problème.
Un de mes repertoire se retrouve indéxer dans google et je ne le souhaite pas. Je viens donc de l'ajouter dans mon fichier robots.txt.

Par contre je souhaite que les réponses qui apparaissent dans google ne soit pas accessible, mais le soit toujours de mon site. J'ai donc écris :

RewriteCond %{HTTP_REFERER} !^www.monsite.com$ [NC]
RewriteRule http://www.monsite/rep/rep/* - [F]

Je dois mal écrire ma règle, mais j'ai essayé de plein de manière et rien n'y fait.

Merci du coup de main

Greg

PS : J'ai cherché partour sur le forum et rien trouvé à ce sujet
 
WRInaute accro
Plutôt ceci :
Code:
RewriteCond %{HTTP_REFERER} !^http\:\/\/www\.monsite\.com\/
RewriteRule ^rep\/rep\/ - [F]
Jean-Luc
 
Nouveau WRInaute
Merci beaucoup, ça fonctionne parfaitement. Par contre je ne comprend pas pourquoi et j'aimerais bien.
J'avais aussi écris comme ça :

RewriteCond %{HTTP_REFERER} !^www.monsite.com$
RewriteRule ^/rep/rep/ - [F]

Et ca ne marchait pas. Est ce que c'est a cause du caractère d'échapement ? ou le http qui manquait dans le referer ?

Merci pour la solution en tout cas.

Greg
 
WRInaute accro
Le http:// est nécessaire dans le "modèle" du referrer, sinon le "modèle" ne correspond pas à la chaîne de caractère du referrer qui commence bien par ce http://.

Le $ à la fin du modèle n'est pas bon non plus puisqu'il indique que le referrer doit se terminer à la fin du nom de domaine, mais le referrer est une URL complète, comme http://www.nom-de-domaine.com/rep/adresse-de-page.php?param=123.

Pour les caractères d'échappement, je ne suis pas formel. Ils ne sont sûrement pas tous indispensables.

Jean-Luc
 
Nouveau WRInaute
Ok, c'est donc mn referer qui était faux, et moi qui me prenait la tête sur ma règle de réécriture ! Avec ou sans / au début etc etc...

Merci.

Greg
 
Discussions similaires
Haut