htaccess : sélectionner le hotlinking autorisé ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

htaccess : sélectionner le hotlinking autorisé ?

Message le Jeu Jan 29, 2009 20:32

Bonjour,

j'ai mis en place un code dans mon htaccess :
lorsqu'une personne accède à l'adresse directe d'une image, elle est aussitôt redirigée vers une page personnalisée contennant l'image en question.
Le problème, c'est que ça empêche le hotlinking et je ne désire pas le supprimer totalement.
J'aimerais en fait que l'image ne soit pas redirigée si le mot "miniatures" figure dans l'adresse, mais je ne sais pas si l'on peut faire ça en htaccess...

Voici mon code :
Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^[http://(www]\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^[http://(www]\.)?monsite\.com/.*$ [NC]
RewriteRule ^image/(.*)\.jpg$                     /image.php?image=image/$1.jpg [QSA,R=301,L]


Merci d 'avance à qui saura m'aider.


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Ven Jan 30, 2009 11:28

Personne n'aurait une idée, s'il vous plait ?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3383
Inscription: Mar Nov 16, 2004 18:27

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Ven Jan 30, 2009 17:09

tu dois pouvoir bloquer l'url avec une condition:

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !+(miniature|peuimporte)


(je suis pas sur pour le + dans le code)


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Ven Jan 30, 2009 20:00

Bonsoir,

je ne veux pas bloquer l'url, je veux que si y'a "miniatures" dans l'adresse, l'image puisse être hotlinkée, mais pas si ce mot est absent.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3383
Inscription: Mar Nov 16, 2004 18:27

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Ven Jan 30, 2009 20:28

Heartless a écrit:J'aimerais en fait que l'image ne soit pas redirigée si le mot "miniatures" figure dans l'adresse


Heartless a écrit:je veux que si y'a "miniatures" dans l'adresse, l'image puisse être hotlinkée, mais pas si ce mot est absent.


separement j'arrive a comprendre, mais les 2 reunis ca fait confus


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Ven Jan 30, 2009 20:39

Désolé, ce que je veux dire, c'est que je veux empêcher le hotlinking des images de mon site, mais pas quand ce sont les miniatures, seulement les grandes. Comme les miniatures sont enregistrées dans un dossier nommé "miniatures", à chaque fois, je me suis dit que si on pouvait mettre une condition pour êmpêcher tout hotlinking, sauf quand le mot "miniatures" est dans l'adresse de l'image, ce serait bien.

Donc, pour résumer, je ne veux pas que mes images d'origine soient hotlinkée.
Je veux bien que les miniatures de ces images soient hotlinkées.

Pour info, les miniatures portent le même nom.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3383
Inscription: Mar Nov 16, 2004 18:27

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Sam Jan 31, 2009 20:04

ok, le snippet que je t'ai donner devrait faire l'affaire, donne 2 urls en exemple pour ajuster le code a tes besoins

avec et sans le mot "miniature"


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Sam Jan 31, 2009 20:31

Je dois mal m'y prendre car ça ne fonctionne pas. Je tombe sur un message d'erreur interne de serveur...

J'ai remplacé le + par un * et c'est pareil, alors je l'ai simplement retiré.

Voilà mon code :
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} (miniatures)
RewriteRule ^image/(.*)\.jpg$                                            /image/$1.jpg [QSA,R=301,L]
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !(miniatures)
RewriteRule ^image/(.*)\.jpg$                                            /image.php?image=image/$1.jpg [QSA,R=301,L]


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 12:15

Si la miniature et la grande image ont le même nom tu peux renvoyer la petite avec la réécriture si le referer est différent de ton site (il faut surement adapter les urls).
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tonsite\.com.*$ [NC]
RewriteRule ^image/grande/(.*)\.jpg$ /image/miniatures/$1.jpg [L]


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 13:21

Oui mais non, là tu m'as retiré le code qui redirige les grandes vers ma page personnalisée... Je ne veux pas que les gens puissent lier directement les grandes images, c'est pourquoi j'ai fait cette redirection.

En dehors de ça, le code que tu me proposes ne fonctionne pas, je pense que c'est dû à une mauvaise adaptation, car les dossiers dans lesquels sont les images sont différents :
Voilà le code que j'ai essayé d'après celui que tu m'as proposé :
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
RewriteRule ^images/(.*)/(.*)/(.*)\.jpg$                                            /images/$1/$2/miniatures/$3.jpg [QSA,R=301,L]
ça ne fonctionne malheureusement pas.

As-tu une idée ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 13:51

tu n'as pas besoin de faire de redirection mais juste une réécriture. Le R=301 est inutile.
J'ai remplacé . par [^/] pour éviter de boucler.
Sinon ce code doit fonctionner. Il va afficher la miniature quand tu hotlink la grande.
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tonsite\.com.*$ [NC]
RewriteRule ^images/([^/]*)/([^/]*)/([^/]*)\.jpg$ /images/$1/$2/miniatures/$3.jpg [QSA,L]


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 14:10

Ok, ça fonctionne, c'set super ! :)

Concernant la redirection, c'est important quand même, je l'utilise afin de rediriger un visiteur sur une page personnalisée contenant l'image au lieu de le laisser afficher l'image seule lorsqu'il clique sur un lien menant directement à cette image.

Exemple avec un lien tel que celui-ci :
- http://www.monsite.com/img/jeu01/artworks/nom_de_l_image_01.jpg

Au lieu d'accéder directement à l'image, je voudrais qu'il soit redirigé vers une page la contenant, comme ceci :
- http://www.monsite.com/img.php?img=img/jeu01/artworks/nom_de_l_image_01.jpg

Avec mon code précédent, ça fonctionnait :
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?ffshores\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?ffshores\.com/.*$ [NC]
RewriteRule ^img/(.*)\.jpg$                                            /img.php?img=img/$1.jpg [QSA,R=301,L]
Seulement, ça entre en conflit avec le nouveau que tu m'as donné... :/

J'ai essayé ça :
Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
RewriteCond %{HTTP_HOST} !^http://(www\.)?monsite\.com [NC]
RewriteRule ^img/([^/]*)/([^/]*)/([^/]*)\.jpg$ /img/$1/$2/miniatures/$3.jpg [QSA,L]

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
RewriteCond %{HTTP_HOST} ^http://(www\.)?monsite\.com [NC]
RewriteRule ^img/(.*)\.jpg$                                            /img.php?img=img/$1.jpg [QSA,R=301,L]
Mais le problème reste le même, seule la réécriture en miniature fonctionne, du coup, en arrivant en lien direct sur la grande image, c'est la miniature qui s'affiche et non pas ma page personnalisée. XD


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 15:20

je ne pense pas que tu puisses distinguer une image affichée sur une page et une image affichée directement.
Si pas de critère pour distinguer, c'est la première règle qui match qui est choisie par apache.
A toi de choisir celle que tu préfères.


Heartless
Nouveau WRInaute
 
Messages: 40
Inscription: Jeu Oct 26, 2006 0:43

Re: htaccess : sélectionner le hotlinking autorisé ?

Message le Dim Fév 01, 2009 15:44

Mince... Il n'y a vraiment aucune condition permettant de vérifier où se touve l'image via la barre d'adresse au moment où elle est appellée ?


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités