Это всегда работает для меня:
RewriteEngine On
RewriteCond %{HTTP_HOST} !.com$
RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R=301]
или, если вы предпочитаете:
RewriteEngine On
RewriteCond %{HTTP_HOST} !.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Если все еще ничего - попробуйте добавить флаг QSA
(но он должен работать какесть):
RewriteRule ^(.*)$ http://www.example.com/$1 [QSA,L,R=301]