Also kann man das ! im konkreten Beispiel weglassen, da es ja gar keine Regel dazu gibt, wenn HTTP_HOST nicht "www.alte-domain.de" ist?
Weiß zwar net, wie du darauf kommst, aber nein ^^ Im konkreten Fall versucht er die nächste Regel anzuwenden, wenn der Host nicht passt. Lässt man das ! weg, versucht er die Regel anzuwenden, wenn der Host passt. Das wäre dann genau der Gegenteilige Effekt
TFM habe ich geR, aber leider dort zu Options +FollowSymlinks dieses gefunden:
Symbolische Links innerhalb des Verzeichnisses werden aufgelöst.
Sorry, dass ich meine Frage nicht korrekt formuliert habe. Was bedeutet das?
Unter Linux (und ziemlich vergraben auch unter Windows) gibt es eben solche symbolische Links. Dabei zeigt ein Verzeichnis auf den Inhalt eines andere Verzeichnis. Für den Benutzer sieht es so aus, als seien beide Verzeichnisse identisch und Änderungen im Einen wirken sich auch direkt auf das andere aus (sie sind gewissermaßen "symbolisch verknüpft"
). Die Option sagt nun, dass symbolische Verknüpfungen aufgelöst werden sollen.
BeitragVerfasst am: 31. Juli 2007 15:22 Titel:
KingCrunch, ich danke Dir! Dennoch ein schwerer Brocken für mich, da ich das alles noch nicht wirklich verstehe und viel Kaffee dabei auch nicht hilft... Genieße aber Deinen Kaffee!
Nun ja.
Ich habe schon versucht, die ein oder andere RegEx-Seite zu lesen. Dazu sollte man vorher wohl besser eine Ausbildung/ein Studium zum Programmierer machen...
Also kann man das ! im konkreten Beispiel weglassen, da es ja gar keine Regel dazu gibt, wenn HTTP_HOST nicht "www.alte-domain.de" ist?
TFM habe ich geR, aber leider dort zu Options +FollowSymlinks dieses gefunden:
Symbolische Links innerhalb des Verzeichnisses werden aufgelöst.
Sorry, dass ich meine Frage nicht korrekt formuliert habe. Was bedeutet das?
Die Frage nach Deinem Kaffee:
Der Ersteller lässt hier $ weg und markiert somit nicht das Ende der URL. Muss das Ende gar nicht zwingend markiert werden?
Jein. Es gibt zwei Arten, wie Suchmuster übereinstimmen können: "Lazy" ("faul") und "Greedy" ("gierig"). Im ersten Fall reicht es, wenn die minimale Übereinstimmung gefunden wird, dann bricht er ab. Im zweiten Fall versucht er, auch wenn das Vergleichswort bereits dem Muster übereinstimmt, eine möglichst große Übereinstimmung zu finden:
- Code: Select all
RegEx: .+
Vergleichswort: abc
Lazy: Matcht auf "a" (reicht ihm)
Greedy: Matcht auf "abc" (weil er möglichst viel will)
Welchen Algorithmus mod_rewrite jetzt verwenden, ist mir nicht ganz klar, glaube aber, es war "Lazy". Mit $ geht man einfach auf Nummer sicher, weil er dann das Zeilenende mit sucht und das natürlich am Ende steht
Nicht jeder Fehler ist ein Bug ...