Pour qu'un répertoire soit complètement interdit d'accès, il faut mettre dans le .htaccess :
<Limit GET POST>
  order deny,allow
  deny from all
</Limit>
Pour que cela fonctionne, il faut que Apache lise le fichier .htaccess. Pour cela, il est nécessaire que le site (dans le virtual-host, dans le répertoire courant ou un parent) ait l'option
AllowOverride Limit
ou
AllowOverride All