Hallo,
um Datein im Verzeichniss durch direkte Links das Downloaden zu verbieten, kann man doch normalerweiße folgenden Code in die .htaccess schreiben und es sollte dann eine alternativ Grafik kommen:
Behauptet wer?
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com(/.*)?$ [NC]
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.domain.com/error.gif [R,L]
Hm: Wenn der Referer NICHT leer ist UND NICHT dem Muster entspricht, dann ersetzt alle Anforderungen von .(gif|jpg|GIF|JPG)$ durch http://www.domain.com/error.gif.
Punkt 1:
Was, wenn der Referer leer ist?
Punkt 2:
Wir "verbessern":
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com(/.*)?$ [NC]
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.domain.com/error.gif [R,L]
Wenn der Referer leer ist ODER NICHT dem Muster entspricht, dann ersetzt alle Anforderungen von .(gif|jpg|GIF|JPG)$ durch http://www.domain.com/error.gif.
Hm, nun haben wir eine Endlosschleife, weil der Redirect auf error.gif ja auch wieder einer Anforderung von .(gif|jpg|GIF|JPG)$ entspricht.
Du kannst also in der RewriteRule höchstens auf eine Ressource umleiten, die keiner Anforderung von .(gif|jpg|GIF|JPG)$ entspricht.
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com(/.*)?$ [NC]
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.domain.com/error.cgi [R,L]
viele Grüße
Axel