Rewriting : prendre tous les sous-domaines en compte ?

cedric_g

WRInaute accro
Bonjour

Dans le cadre du suivi de mes photos "empruntées sans autorisation", je mets en place depuis quelques mois trois niveaux de "mesures" :
- les sites autorisés à afficher mes images en hotlinks sans limitation
- les sites autorisés à afficher mes images avec modification (script générant une image watermarquée et très compressée, envoyée à la volée)
- les sites non autorisés (je leur balance une image bidon avec un texte)

Dans ce troisième cas, je souhaiterais prendre en compte tous les sous-domaines d'un domaine, par ex. (au hasard :twisted: ) tous les blogs d'une plate-forme de blogs !

Ma syntaxe (qui ne fonctionne à priori pas) :
Code:
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?spaces.live.com [NC]
RewriteRule \.(jpg)$ http://www.mon-url.com/mon-image-bidon.gif [NC,R,L]


Quelle est la syntaxe à utiliser sur la première ligne, pour prendre en charge tous les sous-domaines du genre toto.spaces.live.com (en clair, faire un *.spaces.live.com) ?


Merki
 

cedric_g

WRInaute accro
UP...

Personne pour m'aider ?...



Si je balance une étoile (*) il me prend tous les sites c't'abruti d'indien, euh pardon, d'Apache !
 

KOogar

WRInaute accro
Prend tout les sous domaines (avec les . en exclusion)

Code:
RewriteCond %{HTTP_REFERER} ^([^.]*)\.?live\.com
 

cedric_g

WRInaute accro
Merci mais cela ne fonctionne pas :(


Je me demande si cela ne vient pas de la structure des sous-domaines de live.com (toto.spaces.live.com, en 4 niveaux)
 

raljx

WRInaute passionné
bah alors ....

et si tu rajoutes le space
Code:
RewriteCond %{HTTP_REFERER} ^(.+)\.spaces\.live\.com$ [NC]
 

KOogar

WRInaute accro
exclu "?" et reprend a partir de ? si tu veux traiter tout les sous domaines

Code:
RewriteCond %{HTTP_REFERER} ^([^?]*)+\?live\.com
ou
RewriteCond %{HTTP_REFERER} ^([^?]*)\?live\.com
 

forummp3

WRInaute passionné
cedric_g a dit:
Merci mais cela ne fonctionne pas :(


Je me demande si cela ne vient pas de la structure des sous-domaines de live.com (toto.spaces.live.com, en 4 niveaux)
je ne sais pas comment marche RewriteCond %{HTTP_REFERER}, mais j'ai l'impression que dans ta regex tu ne prend en compte que le domaine et pas le nom des pages.
faut t'il pas rajouter des regles apres le .com pour signaler les pages ?
 

cedric_g

WRInaute accro
Bon ! J'ai trouvé la soluce :wink: en mixant vos réponses (si j'ose dire !)

Code:
RewriteCond %{HTTP_REFERER} ^http(s)?://([^?]*\.)?spaces.live.com [NC]


On peut remplacer ?spaces.live.com par ?domaine.tld et ça marche nickel pour les autres aussi (genre plate-forme de blog :twisted: )

Je pense que ça va ouiner dans les chaumières des webmasters ados boutonneux peu scrupuleux et voleurs d'images en hotlink :twisted:
 

KOogar

WRInaute accro
oups, c'est en relisant que je me suis rendu compte que j'avais confondu l'ennoncé de depart avec un autre post sur un autre forum.. d'ou mes réponses à coté...

pas grave puisque tu as conclu ^^
en + simple je pense que ca devrait marcher aussi:

Code:
RewriteCond %{HTTP_REFERER} ^(.*)?nomdomaine.com [NC]
RewriteRule ^.*\.jpg$ /foo [F]
 

Discussions similaires

Haut