Moin!
"swf" sind eben keine Grafiken. Das bedeutet: jpg-Grafiken stehen in "mime.types" zum Beispiel als "image/jpeg" drin, gif und png dementsprechend als "image/gif" und "image/png". Flash-Konstrukte sind aber ein ganz anderer MIME-Typ. Sie werden als "application/x-shockwave-flash" geführt. Du müßtest, wenn du sie denn explizit erlauben/verbieten möchtest, auch für "application/x-shockwave-flash" eine "Rule" definieren.
Absoluter Schwachsinn!
Die RewriteRules von Rankin nehmen nirgendwo auch nur den geringsten Bezug auf irgendeinen Mime-Typ. Also kann es ja wohl kaum an diesem liegen, wenn unterschiedliche URL-Endungen unterschiedlich funktionieren.
Der einzige Unterschied zwischen normalen Bildern und Flash ist, dass die Bilder vom Browser geladen werden, und die Flash-Dateien vom Flash-Plugin. Und ein Grund für eine unterschiedliche Behandlung durch die Rewrite-Rule könnte darin liegen, dass das Plugin einen anderer Referrer sendet, als der Browser beim Bilderladen. Das müßte durch Analyse der Access-Logfiles verifiziert werden.
Als Ansatzpunkt für eine Fehlersuche in den Regeln würde ich zunächst beim Referrer ansetzen. Ein Zugriff ist derzeit unter etwas seltsamen umständen möglich: Der Referrer muß von "url.de" kommen, umgeleitet wird dann aber auf ein Bild auf "www.url.de" - das ist nicht dieselbe Domain, auch wenn vielleicht derselbe Inhalt dahintersteht.
Außerdem ist nicht unwahrscheinlich, dass hier eine Endlosschleife gebildet wurde. Alle Bilder auf ".jpg" werden, wenn der Referrer "nicht leer" ist oder "nicht url.de" ist, per _Redirect_ umgeleitet auf "leeresbild.jpg". Durch den Redirect wird vom Browser ein neuer Request nach "leeresbild.jpg" gestartet - welches natürlich auch unter die ".jpg"-Regel fällt. Ist nur die Frage, mit welchem Referrer der Browser den Request sendet: Mit dem Referrer vom alten Ort (dann wäre eine Endlosschleife geschlossen), oder mit dem Referrer von der neuen Site (dann würde die Regel hier abbrechen). Ich würde jedenfalls an dieser Stelle _nicht_ mit einem Redirect antworten, wenn die Bilder mit einem existierenden, aber falschem Referrer abgerufen wurden, sondern entweder mit [F] (forbidden - dann wird mit Statuscode 403 geantwortet, der Browser zeigt das broken Image und es wird der Traffic für das Ersatzbild eingespart), oder nur mit [L] (last rule - keine weiteren Rewrite-Rules anwenden, die URL auf das Bild wird aber nur intern geändert und führt, ohne dass es von außen bemerkt wird, zur Auslieferung des Ersatzbildes unter der URL des Originalbildes).
Ich bin mir recht sicher, dass Flash ebenfalls abgedeckt wird, wenn [F] in der RewriteRule benutzt wird. Denn das Flash-Plugin will ja ein SWF haben - oder auch nicht - aber bestimmt kein JPEG-Bild.
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr)