n'abend,
Ich weiß nicht warum, aber ohne einen Flag am Ende der Rewriterule funktioniert bei mir das Rewriten nicht.
Das wird aber nicht "an irgendeinem" Flag liegen, sondern am [L]. Welches in deinem Fällen durchaus seinen Sinn hat.
Mit RewriteLog kannst du dir protokollieren lassen, was mod_rewrite mit einer Anfrage anstellt. Vielleicht erkennst du da was mit einer Anfrage an /favicon.ico beim "index.php"-Rewrite (resp. den RewriteConditions davor) passiert, wenn du die [L] weg lässt.
»» Nein, es fügt wie Sven sagte nur den originalen Querystring wieder an - das kann man dann benutzen, wenn man einen (evtl.) original vorhandenen solchen lediglich erweitern möchte. Per Default, ohne dieses Flag, wird er nämlich "weggeschmissen".
Das verstehe ich immer noch nicht, könntest du mir das Bitte Anhand eines Beispiels erklären?
RewriteRule ^highlight$ /css/highlight.php [QSA] # wo muss hier der Querystring stehen für dieses Flag?
Nirgends. [QSA] steht für QueryStringAppend und bewirkt, dass der QS der Originalanfrage and das Ergebnis deines Rewrites angehängt wird. Wenn du in deinem Rewrite werte im QS anhängen willst, ohne die ursprünglichen Werte der Anfrage zu berücksichtigen, brauchst du [QSA] nicht angeben.
Mit [QSA] machst du aber nicht viel kaputt. Ich hänge [QSA] zwischenzeitlich an jede RewriteRule an, um etwaige "warum kommt denn der Verdammte QueryString nicht an?" zu vermeiden.
Die ganzen Optionen kannst du übrigens in RewriteRule nachschauen. Dort gibt es auch Beispiele zur Veranschaulichung.
Eine wichtige Option ist übrigens [R]. Das steht für Redirect. Apache sendet dann einen 302 Moved Temporarily als Antwort auf den Request. Das bewirkt schlussendlich, dass der Client nochmal unter der richtigen URL nachschaut. Wird das [R] weggelassen, wird der Rewrite lediglich intern betrachtet. Der Client bekommt vom ganzen Rewriting dann nichts mit.
weiterhin schönen abend...
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|