AlexW.: .htaccess : RewriteRule will nicht so wie ich es will

Beitrag lesen

Hallo,

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC] # erlaubte Referrer
RewriteCond %{HTTP_REFERER} !^http://www.meinedomain.de(/.*)?$ [NC]
RewriteRule .(gif|jpg)$ - [F] # gegen Grafik-Fremdverlinkung -- klappt!
RewriteRule .(pdf)$ /zieldatei.htm [R,L] # betroffene Dateisuffixe, Dateianfragen bekommen Redirection -- FEHLER!!!
RewriteRule .(txt)$ /zieldatei.htm [R,L] # betroffene Dateisuffixe, Dateianfragen bekommen Redirection -- FEHLER!!!

Vielleicht kann mir ja jemand helfen, ich weiß einfach nicht, wo der Fehler liegt.

Muss man nicht alle Bedingungen (RewriteConds) vor jeder RewriteRule erneut schreiben?
Ausserdem kannst Du das Flag "L" auch hinter die erste RewriteRule (die mit gif/jpg) setzen, denn wenn eine Datei mit .gif endet kann sie nicht gleichzeitig mit .txt enden. :-)

Abschliessend aber noch meine Bedenken, ob Du mit der Umleitung für .pdf und .txt viel Freude haben wirst (oder Deine Nutzer):
Angenommen, ich bin auf einer fremden Seite mit Link zu Deinem .pdf Dokument. Ich klicke auf das Link, weil ich jenes Dokument sehen möchte. Gezeigt bekomme ich was ganz anderes. => 1. Enttäuschung. Aber ich bin ja hartgesotten, suche nun auf Deiner Ersatzseite nach dem Link zu dem gewünschten .pdf Dokument. Klicke drauf. Und was bekomme ich zu sehen? Wenn meine Browser einen Cache hat, wahrscheinlich wieder Deine Ersatzseite, weil mein Browser gar keine Anfrage an Deinen Server geschickt hat. => 2. (und für die meisten endgültige) Enttäuschung. Nur eingeweihte Profis werden jetzt Stift/Strg Reload klicken und auch das Dokument wirklich zu sehen bekommen.

Daher rate ich von dieser Technik ab. (Bei dem "Schutz" vor Bildverlinkung ist das nicht so schlimm, weil mit großer Wahrscheinlichkeit jemand, der das geklaute Bild auf einer fremden Seite angeschaut hat, nicht später zufällig auf Deine Seite kommen wird -- wo er aber die selben Probleme hätte.)

Grüße, Alex.