RewriteRule .(gif|jpg|GIF|JPG|png|PNG)$ http://www.example.org/anderes-bild.php [R,L]
Das ist ungünstig, weil es einen neuen Request auslöst und dann die von dedlfix beschriebenen Probleme auftreten.
Entweder Du notierst (und das ist in Deinem Fall die beste Lösung)
<IfModule rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .(gif|jpg|GIF|JPG|png|PNG)$ /anderes-bild.php [L]
</IfModule>
(gibst den Pfad zum Skript ohne Protokoll und ohne Servername an und vermeidest das [R] für den Redirect)
... und kannst in Deinem Skript $_SERVER["REQUEST_URI"] auswerten
============================================================
Achtung! Das Folgende außer zu Testzwecken nicht nachmachen!
... oder Du hängst die ursprüngliche Adresse mit an den neuen Request:
<IfModule rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*(gif|jpg|GIF|JPG|png|PNG))$ http://localhost/test.php?pic=$1 [L]
</IfModule>
... umd dann $_GET['pic'] auszuwerten. Das ist aber so nötig wie nach einem Spaziergang an der Sonne die Jacke in der einzigen Absicht, sie dann zu trocknen, nass zu machen.
Unter der URI http://httpd.apache.org/docs/current/mod/mod_rewrite.html ist ein ganz brauchbares Handbuch zu finden.
Das "<IfModule rewrite.c>" dient dazu, dass Du Dir nicht den gesamten Server lahm legst (Es kommt dann nur "Error 500", wenn das Modul rewrite nicht installiert oder aktiviert ist.
Jörg Reinholz