Der Alex.: .htaccess : RewriteRule will nicht so wie ich es will

Hallo allerseits.

Ich bekomme viele Besucher über eine Suchmaschine, die in einer PDF-Datei meiner Homepage landen.
Diese Leute würde ich aber gerne auf eine HTML-Seite umleiten.
Genauso, falls jemand direkt auf eine .txt-Datei geschickt wird, sollte er stattdessen auf eine bestimmte HTML-Datei
umgeleitet werden.
Als drittes soll es nicht möglich sein, meine Grafiken in fremde Seiten einzubinden.
Dazu habe ich auch etwas im Netz gefunden und Folgendes für meine .htaccess-Datei kreiert:

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!!!

Mit den Grafiken das funktioniert prima, die können nicht mehr bei Referrer außerhalb meiner Domain aufgerufen werden.
Nur mit den .pdf- und .txt-Dateien klappt's leider nicht: man bekommt IMMER eine Umleitung auf die angegebene Zieldatei,
auch wenn von meiner Domain verlinkt wird oder kein Referrer übermittelt wird - so, als würde die RewriteCond-Direktive
für .pdf und .txt ignoriert werden. Auch wenn ich die Grafik-RewriteRule-Zeile herausnehme, besteht das Problem weiterhin.

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

Schöne Grüße
 Der Alex.

  1. 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.

    1. 'n Abend.

      Schönen Dank!

      Abschliessend aber noch meine Bedenken, ob Du mit der Umleitung für .pdf und .txt viel Freude haben wirst (oder Deine Nutzer)

      Ups, dessen war ich mir ja gar nicht bewußt.
      Okay, unter diesen Umständen werde ich das wohl nicht so machen.

      Grüße
       Alex. (der andere ;-) )