hallo,
RewriteEngine on
ok, das brauchst du, um mod_rewrite ansprechen zu können.
Options FollowSymLinks
Das hat mit mod_rewrite absolut nichts zu tun. Allerdings ist es etwas, was in einer .htaccess durchaus Sinn machen kann, sofern das Verzeichnis, in dem diese .htaccess liegt, tatsächlich auch Symlinks enthält.
ReWriteBase /
Hm. Kann man so angeben, muß man aber nicht unbedingt (ich weiß im Moment gar nicht, wie weit Apache case sensitive reagiert).
RewriteRule ^([^/.]+)$ index.php?site=$1 [L]
Ups.
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 ;-).
Zweifelhafte Aussage, da hat Der Martin völlig recht.
Nun stehe ich aber vor dem Problem, das ich jetzt zwingend eine URL (komplett, d.h. mit http://.. usw.) ebenfalls so filtern will
Du solltest dieses "Problem" erläutern. "http://" ist zwar Bestandteil einer URL, was du aber bestenfalls übergeben kannst, ist etwas anderes. "http://" ist das benutzte Protokoll (es gibt ja außer HTTP noch weitere), und das _kannst_ du nicht in einer Variablen übergeben.
leider funktioniert das mit meinem Bastelversuch oben so gar nicht
Klar. Kann es auch nicht.
(wenn ich die ganzen Tuts richtig verstehe auch wegen den Slashes und weil die URL ja auch eventuell direkt die Datei enthalten könnte...
Da hast aber die "ganzen Tuts" nicht richtig gelesen.
Meine Frage simpel ausgedrückt:
Wie muss ich die Rewriterule ergänzen/ändern, damit nicht nur:
http://domain.de/test zu http://domain.de/index.php?site=test
sondern auch
http://domain.de/http://domain2.de/test.php zu http://domain.de/index.php?site=http://domain2.de/test.php
wird ?
Gar nicht. Deine Voraussetzungen sind schlichtweg falsch.
http://domain.de/test zu http://domain.de/index.php?site=test
Das geht _ungefähr_ so:
RewriteRule ^test$ index.php?test [QSA]
Voraussetzung ist, daß deine .htaccess in domain.de liegt - übrigens ein schlecht gewähler Bezeichner. Wenn man etwas ausprobieren möchte oder muß, nimmt man example.com, denn http://domain.de existiert natürlich und dürfte dir vermutlich nicht gehören.
http://domain.de/http://domain2.de/test.php zu http://domain.de/index.php?site=http://domain2.de/test.php
Das ist Unsinn. "http://domain.de/http://domain2.de/test.php" ist ungültig. Was du möchtest, ist "http://domain2.de/test.php" nach "http://domain.de/test.php" umzuleiten. Dazu muß in "domain2.de" eine andere .htaccess abgelegt werden, und in der schreibst du dann einfach:
RedirectPermanent / http://domain.de/test.php
Das ist alles.
Grüße aus Berlin
Christoph S.