Moin!
Was bedeuten eigentlich das [L] oder das [P] das ich vorher dort stehen hatte?
Das P steht für "proxy" und ist hier wohl nicht zielführend, weil auch da einen neuen Request (Diesmal des Apache als Proxy) bewirkt. Das L steht für "last" - das bedeutet, wenn die Regel zutrifft werden nach dieser Regel keine weiteren mehr beachtet. Das kann und wird (hier!) wohl sinnvoll sein.
Das ändert leider nichts. $_GET['sub'] ist dann immernoch leer.
Hm. versuche mal:
RewriteRule ^/(.*)$ projekt/index.php?sub=$1 [L]
Das eingefügte "^/" symbolisiert den Beginn des Strings und den an dieser Stelle führenden Slash.
Das nach der Klammer eingefügte "$" symbolisiert das Ende des Strings.
(.*) "matcht" dann auf alles dazwischen.
Fundstelle wie oben. Hinweis. mod rewrite des 2.4er Apache kann ggf. mehr, ist aber noch nicht überall verfügbar.