Uso de htaccess
Debian 6
Apache 2.2.16 (Debian)
No primeiro virtual host ( que é o default nesse caso ) em /etc/apache2/sites-available edite-o
# vi default
<VirtualHost *:80> ServerAdmin soc@usp.br DocumentRoot /var/www <Directory /> # Mantenha o FollowSymlinks, ele economiza chamadas lstat e com isso melhora o desempenho. Options FollowSymLinks # Se manter o None abaixo fica tudo legal no htaccess dos vhost, mas proibe no / ( DocumentRoot ) AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews # Permite htaccess nos vhosts apenas, em todos eles!! AllowOverride FileInfo Order allow,deny allow from all </Directory> . . . </VirtualHost>
Nos outros vhosts não é necessário fazer nada.. só criar na pasta deles o arquivo .htaccess
Detalhe, o merge de configurações do apache segue a seguinte ordem, <Directory>, Texceto com expressões regulares, E .htaccess feitos ao mesmo tempo MAS se o htaccess for permitido ( nesse caso é ) ele sobrescreve o <Directory> do vhost ( que são os próximos a serem avaliados ), então não adianta configurar AllowOverride None nos vhosts que não vai proibir!
Lembre-se! Se estiver habilitado o AllowOverride ( para o htaccess ) o apache busca em todos os diretórios o .htaccess, ou seja, vc perde em desempenho! O melhor, mais rápido e mais seguro é AllowOverride None, o que desativa o uso de htaccess.
Fontes
Site do apache - http://httpd.apache.org/docs/2.2/pt-br/vhosts/
Site do apache - http://httpd.apache.org/docs/2.2/howto/htaccess.html