when you use virtual hosts you can put mod_rewrite inside a directory block or inside a virtualhost block.
If you put mod_rewrite outside those blocks the rules *won't be parsed*.
That's happen when you use virtual hosts.
I'm not sure what you are going to do,
could you give to me an example ?
By the way you need to split the two rules you wrote:
CustomLog /var/log/httpd/access1.log common
RewriteRule ^(.*)$ /host1$1 [PT]
CustomLog /var/log/httpd/access2.log common
RewriteRule ^(.*)$ /host2$1 [PT]
means host2 under root...