Thread mod_rewrite und logische Fallunterscheidung
(15 answers)
Opened by cbxk1xg at 2004-04-16 16:31
nein, ich glaube nicht, dass mod_rewrite und perl regexp gleich sind. ähnlich, aber nicht unbedingt gleich. leider.
du kannst natürlich \.htm einfach herausnehmen, musst dann aber noch eine zusätzliche bedingung aufnehmen, die sicherstellt, dass es nicht dein script ist, das aufgerufen wird, sonst baust du dir eine potentielle endlosschleife ein, weil jeder request umgeleitet würde, auch der interne zugriff auf dein script - und schon geht's unendlich so weiter. stimmt, an sich sollte [L] dafür sorgen, dass keine weiteren Rules mehr angewendet werden - aber nur in diesem request, d.h. die rewriteengine erzeugt ja intern einen neuen request mit dem umschreiben und der kann dann natürlich wieder umgeschrieben werden, wenn ich das konzept richtig verstanden habe. wieso sollte $1 das ergebnis der letzten regel enthalten? $1 enthält die ersten, matchenden, geklammerten werte aus der letzten RewriteRule-Zeile - aber da hast du keine Klammerung. ich denke immer noch, dass du rewriten und prüfen in einer rule laufen lassen solltest. gehen wir einen schritt zurück zu Code: (dl
)
1 RewriteCond %{REQUEST_METHOD} GET ich tippe, dass der grund, warum das ganze nicht matcht, einfach darin liegt, dass /-/Cache/ nicht existiert, und damit natürlich dann auch keine Datei darin. -s testet, meine ich, den lokalen pfad, d.h. man müsste noch das DOCROOT davor setzen, um den gewünschten Effekt zu erzielen. etwa so: Code: (dl
)
1 RewriteCond %{REQUEST_METHOD} GET wie sieht's damit aus? selbiger ansatz müsste dann auch für deinen letzten ansatz gelten: Code: (dl
)
1 RewriteCond %{REQUEST_METHOD} GET wobei ich immer noch an $1 zweifle. |