Issue with htaccess redirect adding parameters
I was having a similar issue. Combining your use of:

RewriteRule (.+) index.php [QSA,L]


but with the following for the non-www redirect

RewriteCond %{HTTP_HOST} =www.domain.com
RewriteRule (.*) http://domain.com/$1 [R=302,L]


worked for me.