hi,
RewriteRule ^([a-z0-9.-]+)$ rw.php?param=$1 [NS]
da wäre ich (offengestanden ja) etwas fauler:
RewriteRule ^(.*)$ rw.php?param=$1 [LQSA]
Nun ja, real soll mein Suchmuster nicht mehr für Requests auf Dateien in Unterverzeichnissen matchen - während ich /xyz behandeln möchte, möchte ich bspw. /ordner/xyz nicht mehr davon behandelt wissen.
Deshalb nicht die ganz so grobe Keule.
mutmaßlich fehlt ihm ein "L"
Entgegen deiner obigen Schreibweise wären mehrere Flags durch ein Komma voneinander zu trennen, bei deinem Beispiel also [L,QSA], und für meinen Fall [L,NS].
Aber auch das bewirkt keine Änderung [1] - ich erhalte immer noch die gleichen zwölf Zeilen im Log, zuerst Umschreiben des Requests, dann Erkenntnis dass es sich bei rw.php?param=xyz um einen "internal redirect with /rw.php [INTERNAL REDIRECT]" handelt - und dann noch mal Abarbeitung des RewriteRule und der RewriteCond für diesen, wobei dann auf die hierbei nicht erfüllte RewriteCond wiederum "pass through" erfolgt.
[1] Hätte ich auch nicht erwartet, weil L last rule lediglich bedeutet, dass in _diesem_ Durchgang keine nachfolgenden Rules mehr angewendet werden sollen. Das soll aber nicht verhindern, dass die intern vorgenommene Umschreibung ggf. erneut in die Rewrite-Maschinerie reinläuft - und dabei eine erneute Behandlung des Subrequests durch die Rule zu verhindern wäre, wie gesagt, m.E. Aufgabe des Flags NS.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }