Rewrite-Rules not working on a vhost, everything goes to index.php

I’m not sure if this helps but its good practice, include the BEGIN and END WordPress comments around your rules as well as the check for mod_rewrite:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Also:

  • Do not apply these rules until you have chosen and saved permalinks in the admin area, only once you have done this should you setup the .htaccess file
  • The Comments are used by plugins to allow rewriting of the htaccess file without messing up the core wordpress rules
  • Make sure your rewrite base is set correctly