Der Martin: mod-rewrite / Verständnisfrage

Beitrag lesen

Hi,

RewriteEngine on
Options FollowSymLinks
ReWriteBase /
RewriteRule ^([^/.]+)$ index.php?site=$1 [L]

diese Rewrite Rule matcht alles, was mindestens ein Zeichen lang ist, aber keinen Slash und kein beliebiges Zeichen enthält. Soweit ich sehe, *kann* es keinen Ausdruck geben, der auf dieses Muster passt.

Hierdurch erreiche ich, das alles was hinter der Hauptdomain steht und nicht eine Datei ist als Variable (site) von der index.php verarbeitet wird (jedenfalls funktioniert das so nach tagelangem Ausprobieren ;-).

Dein Suchausdruck hat keinerlei Hinweis darauf, dass du existierende Dateien oder Verzeichnisse prüfst.

Nun stehe ich aber vor dem Problem, das ich jetzt zwingend eine URL (komplett, d.h. mit http://.. usw.) ebenfalls so filtern will, leider funktioniert das mit meinem Bastelversuch oben so gar nicht ...

Das *kann* auch nicht funktionieren, weil die komplette URL niemals beim Apachen ankommt. Die Rewrite Rule "sieht" immer nur den local part der URL, nicht aber den Domainnamen, das Protokoll oder den Port.

So long,
 Martin

--
"Drogen machen gleichgültig."
 - "Na und? Mir doch egal."