tanami wrote:ja aber warum werden sie dann aufgerufen ? auch wenn ich die RewriteBase /phpBB2 in der .htaccess angebe ändert sich nix ?
Ich vermute, hier sitzt der Denkfehler: Es ist wichtig zu verstehen, dass die RewriteRules zwar mächtig sind, aber nichts an dem HTML-Code ändern, den eine Anwendung oder eine statische HTML-Datei
an den Browser zurück liefert. :!:
In Deinem Fall liefert irgendeine HTML-Datei und/oder Anwendung einen HTML-Code, der dafür sorgt, dass die Datei "/fehler/welcome.gif" vom Browser angefordert wird. Und da Du für *.gif-Dateien keine RewriteRule definiert hast, ändert mod_rewrite den Aufruf nicht ab, sondern lässt ihn unverändert.
Beispiel
Du hast folgende RewriteRule:
Code: Select all
RewriteEngine on
RewriteRule test.php /neu/test2.php [R,L]
Wenn Du nun im Browser "test.php" aufrufst, leitet mod_rewrite um zu "/neu/test2.php". So weit, so gut.
Was aber, wenn das Skript "/neu/test2.php" einen HTML-Code zurückliefert, in dem auf das Image "/test.gif" verwiesen wird?
- Der Browser wird versuchen, die Datei "/test.gif" zu laden.
- Aber in dem og. Beispiel gibt es für die test.gif-Datei keine besondere Regel.
- Also wird der Aufruf "/test.gif" auch so (unverändert) an den Apache weitergereicht.
Ist die Datei "/test.gif" hingegen auch nach "/neu/test.gif" umgezogen, so muss dies mod_rewrite mit einer zusätzlichen RewriteRule mitgeteilt werden:
Code: Select all
RewriteEngine on
RewriteRule test.php /neu/test2.php [R,L]
# zusaetzliche Regel:
RewriteRule test.gif /neu/test.gif [R,L]
Wenn der Browser also in Deinem Fall aus irgendeinem Grund die Anweisung vorfindet, das Image "/fehler/welcome.gif" zu laden und Du dann keine passende RewriteRule für die *.gif-Dateien eingerichtet hast, dann wird mod_rewrite eben nicht eingreifen und den Aufruf auch nicht abändern, sondern so an den Apache weiterreichen (pass through).
tanami wrote:
Zu Deiner .htaccess-Datei: Bei Rewrite-Anweisungen innerhalb von .htaccess-Dateien ist die Anweisung RewriteBase wichtig und korrekt zu setzen.
habe ich gemacht, hat aber nix geändert :(
Die Funktionsweise von RewriteBase ist anfangs nicht leicht zu verstehen. Da bleibt leider nix anderes, als gründliches durchlesen der entsprechenden Doku zu mod_rewrite.
tanami wrote:Sei nicht böse das ich es nicht raffe :(
Kein Problem, mod_rewrite gehört sicherlich zu den anspruchsvolleren Apache-Modulen.