Eu daria mais um passo com mod_alias e usaria a diretiva AliasMatch . Deve funcionar da mesma forma que a solução do EightbitTony, mas lhe dá o poder de regex extra.
Eu fiz um pouco de teste e parece que ele deveria fazer isso.
AliasMatch ^/([a-zA-Z0-9_-]+)/(.*) /www/$1/public/$2