ChrisB: mod_rewrite

Beitrag lesen

Hi,

Ich komme trotz tutorials und http://www.modrewrite.de/mod_rewrite.syntax.phtml
nicht dahinter wie ich es umsetzen muss, dass http://variable.domain.tld/
und http://domain.tld/variable jeweils auf http://domain.tld/index.php?site=variable
umgeschrieben werden.

Für erstere Variante müsstest du erst mal sowas wie eine Wildcard-Subdomain einrichten - und dann beim Rewriten auf die Umgebungsvariable HTTP_HOST zugreifen.

RewriteBase /

RewriteRule index.html$ index.php

RewriteRule ^/(.*)$ index.php?site=$1 [L]

Der führende Slash dürfte schon mal fehl am Platze sein.
Ausserdem trifft diese Regel auch auf deine index.php zu, so dass du in einer Endlosschleife landen würdest - weil der Apache nach dem Umschreiben so tut, als wäre der umgeschriebene Request gerade neu reingekommen, und auch darauf wieder alle Regeln anwendet. Und nein, das Flag [L] verhindert das nicht.

Entweder schreibst du also die Regel so um, dass sie auf die index.php nicht matched - oder du schaust dir an, wie man mit RewriteCond physisch vorhandene Dateien/Ordner vom Rewriting ausschliessen kann.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.