wieso funktioniert hier die dritte Zeile nicht?:
RewriteRule ^de/$ /de [R]
RewriteRule ^de$ /index.php
RewriteRule ^de/(.+) /index.php?lang=de&path=$1erst geht. zweite geht. dritte gibt die index.php komplett ohne Formatierung und Bilder wieder.
Wenn ich allerdings hinter die letzte Zeile [R] schreibe, sodass die neue URL auch im Browser angezeigt wird, dann funktionierts einwandfrei. Wieso? Eigentlich sollte die [R]-Flag doch nur die Anzeige beeinflussen, aber im Hintergrund hat die doch sonst keine Funktion?!
Scheinbar klappen ohne die Flag aber auch die Eibindung von CSS und Pics, die sich in Unterverzeichnissen befinden, nicht mehr. Jemand ne Idee?
ohne Redirect findet ein rein serverinternes URL Rewriting statt.
Der Browser sieht im location bar http://example.org/de
wenn deine index.php bilder/css/script-urls mit relativene Pfaden ausrüstet, dann wird der Browser immer nach de/your.css etc suchen. Das hast du wohl nicht intendiert.
Nach einem redirect aber nach /your.css
Das zweite problem ist dass
RewriteRule ^de/(.+) /index.php?lang=de&path=$1
auch auf de/your.css matcht.
dadurch wird die index Datei aufgerufen, die natürlich keinen CSS Code ausliefert.
Auch das hast du wohl nicht vorgesehen.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische