Yo el código lo cambiaría un poco, con esto:
Código:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com
RewriteRule ^(.*) /%1/$1 [L]
La segunda y tercera líneas no sé si serán necesarias.
La cuarta línea comprueba que no esté solicitando
www.tudominio.com (imagino que ése no le quieres redireccionar, si no pues quita la línea
La quinta línea detecta el nombre del subdominio
La última redirecciona a /subdominio/[archivosolicitado] pero sin modificar la URL
Para que eso funcione, metes el código dentro de un archivo .htaccess dentro del directorio principal de tu web (el que esté como documentroot en apache). Además es necesario que tengas el mod rewrite instalado y activado (desde el httpd.conf), y que apache acepte los nombres de subdominio (te recomiendo añadir un alias, algo como
alias *.tudominio.com donde tengas definido el virtualhost).
Y además, ojo con esto, es necesario configurar las zonas DNS de tu servidor DNS para que acepten los subdominios (si no, alguien desde fuera no podrá resolver la IP de los subdominios). Esto ya no sé cómo hacerlo.
También sería bueno que aportaras más datos del servidor, sistema operativo, versión de apache, configuración de los virtualhosts, etc...