Hallo Harry,
Statisch könnte ich das ja (denke ich zumindest) mit !^index.php.* && !^img/.* && !^css/.* machen (vielleicht noch mit escape vor "/", probieren geht über studieren), aber dynamisch?
Warum nicht:
---------------------------------------------
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?path=$1 [L,QSA]
---------------------------------------------
Falls die Datei oder das Verzeichnis existiert, dann wird sie nicht von mod_rewrite angerührt, ansonsten wird index.php aufgerufen.
Du kannst zusätzlich noch ein
RewriteCond %{REQUEST_URI} ^/internal.*
RewriteRule ^(.*) - [F]
einbauen, damit alles unterhalb von internal/ nicht von außen zugänglich ist. Die Fehlermeldung kannst Du dann mit ErrorDocument festlegen.
Viele Grüße,
Christian