intelligent, RewriteCond %{HTTP_HOST} ^([^\.]+)\.site\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/?user=%1 [R,QSA]
в итоге ты набираешь vasya.site.ru , скрипт обрабатывается, но редирект не происходит, то есть адрес страницы остается vasya.site.ru , а не site.ru?user=vasya , а содержимое отдается нужное