RewriteRules (supondo que você tenha RewriteEngine On também definido) funciona bem e praticamente o mesmo em ambos os arquivos. Htaccess e na sua configuração de host virtual. A única diferença principal é que ele funciona em um contexto por servidor em vez de um diretório por em sua configuração vhost, o que significa que as correspondências de URL como "foo" agora são "/ foo" (observe a barra inclusa no início , isso é o que a maioria das pessoas esquece). Além disso, o caminho resultante pode, em um contexto por servidor, ser um caminho completo do sistema de arquivos em vez de apenas um URI relativo.
RewriteRule foo.bar baz.abc
agora se torna RewriteRule /foo.bar baz.abc
A forma como o sistema descobre se você está dizendo para ele criar uma reescrita para um caminho do sistema de arquivos ou um URI relativo é verificando o primeiro bit do resultado em relação ao sistema de arquivos. Assim, se você reescrever / foo para / home / foo, e / home existir em seu sistema de arquivos, ele será tratado como uma reconfiguração do sistema de arquivos em vez de apenas uma reescrita de URI relativa.
Supondo que você tenha / home mas não / img no seu sistema de arquivos , então:
RewriteRule /index.html /home/jane/index.html
< - reescrita do caminho do sistema de arquivos (/ home existe no sistema de arquivos)
RewriteRule /index.html /img/index.html
< - reescrita relativa (/ img não existe no sistema de arquivos, portanto youdomain / img / index.html é o resultado)
Espero que isso responda à sua pergunta