Простой
Правила ниже действуют www, за исключением поддоменов.
RewriteCond %{HTTP_HOST} =name.domain [NC]
RewriteRule ^(.*)$ http://www.name.domain/$1 [R=301,L]
Отредактируйте и вставьте его, перезапустите apache.
Объясните:
RewriteCond %{HTTP_HOST} =name.domain [NC]
совпадать только тогда, когда кто-то вводит name.domain (имя вашего домена).
Когда типы subdomain.name.domain, RewriteCond имеет значение false и не перенаправляет. Ты понимаешь?
В правиле, которое вы ранее разместили, вы подходите для! (Не) ^ (в начале) www и subdomain.name.domain удовлетворяет RewriteCond и является тем, что вам не нужно :)