RewriteRule (.*).html$ start.php?id=%{REQUEST_URI} [L]
Wenn ich aber jetzt das .html entferne, also das er alles umleitet, leitet er es zwar um doch die Variable die Übergeben wird ($1 oder %{REQUEST_URI}) steht nur start.php
Jemand eine Idee woran das liegt
Weil dann wirklich alles abgefangen wird, einschließlich der Aufrufe von start.php. Du erzeugst damit eine Endlosschleife (die aber von mod_rewrite freundlicherweise abgefangen wird).
Du möchtest nicht alles verarbeiten, sondern alles außer start.php, das geht in etwa so:
RewritEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^start.php
RewriteRule .* start.php?id=%{REQUEST_URI}