Thread mod_rewrite und logische Fallunterscheidung (15 answers)
Opened by cbxk1xg at 2004-04-16 16:31

cbxk1xg
 2004-04-17 21:09
#30698 #30698
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Aber der Witz an der Sache ist doch, dass eine Regel nur ausgeführt wird, wenn die Cond passen. Und genau das passiert wenn ich den zweiten Regelblock rausnehme. Also nur:

Code: (dl )
1
2
3
4
5
6
7
8
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} .*/([^/]+\.htm)$
RewriteRule .* -/Cache/%1

# "$1" enthält das Ergebniss der letzten Regel und
# schreibt alles ".*" um auf "$1", wenn es existiert. Hossa!
RewriteCond $1 -s
RewriteRule .* $1 [L]


...funktioniert. Aber wenn ich noch das hier ranhänge:
Code: (dl )
1
2
3
4
# Hier sollte Testweise alles was nicht matched
# eine andere Aktion auslösen. - GEHT ABER NICHT!
RewriteCond $1 !-s
RewriteRule .* http://foo.bar/ [L]


zeigt alles auf http://foo.bar ?!?! Das ergibt doch keinen Sinn! Ich habe es auch schon mit [S=1] probiert. Aber das brachte auch nix. Und wenn der Pfad nicht existieren würde, dann dürfte der erste Block an Regeln jetzt auch nicht funktionieren. Um das zu beweisen habe ich esmal mit !-s getestest. Wie erwartet bekam ich einen 404, weil die Regel nicht griff. So langsam verliere ich meine gute Laune... :angry:

View full thread mod_rewrite und logische Fallunterscheidung