Hi Ashura!
RewriteEngine on
RewriteRule ^/(.*)$ index.php?site=$1
> Lange Rede, kurzer Sinn: Wie bringe ich den Apachen dazu, meiner RewriteRule den Vorrang zu geben und erst danach auf evtl. Verzeichnisnamen zu prüfen?
Lasse einfach den Slash in deiner RewriteRule weg, also:
~~~apache
RewriteRule ^(.*)$ index.php?site=$1
Darüber hinaus solltest du versuchen, so wenig wie möglich zu matchen, d.h. zum Beispiel anstatt (.*) den Ausdruck ([a-zA-Z]+) zu verwenden. Außerdem reicht für dich readfile(), anstatt von include(), da es sich ja um eine statische Seite (*.htm) zu handeln scheint.
Grüße,
Fabian St.