Sim, isso pode ser feito por meio do .htaccess, mas só funcionará se você tiver uma entrada DNS curinga para o domínio ou se você também adicionar um registro DNS para cada subdomínio.
No meu aplicativo da web, estou brincando com a ideia de dar ao meu usuário a oportunidade de selecionar um subdomínio de sua escolha, para que ele possa selecionar algo como:
foobar.myapp.com
em que foobar é o subdomínio escolhido. Qual é a maneira correta de criar algo assim? .htaccess? Tem alguma API para escrever hosts virtuais? O aplicativo ainda seria sempre mapeado para um diretório no meu servidor, só quero dar ao tema um URL personalizado.
Eu configuraria uma API que escreve hosts virtuais como você sugere, apenas certifique-se de fazer as verificações apropriadas para garantir que nada de desonesto aconteça; como vários VH com o mesmo nome, convenções de nomenclatura, etc ...
Eu acho que a maneira mod_rewrite é destinada a servir diretórios diferentes, então eu prefiro lidar com isso dentro do próprio aplicativo. Afinal, você está falando apenas sobre reescrita de URL dentro do mesmo aplicativo. Um registro DNS wild card ainda seria necessário, tho.
Eu nem me incomodaria com uma API vhost.
De qualquer forma, é claro que usar o cabeçalho HTTP HOST para selecionar o conteúdo servido tem implicações de segurança, como qualquer outra entrada fornecida pelo usuário.