Para algo assim, você realmente quer usar .htpasswd
. Isto irá aparecer com uma caixa de login e pode ser configurado por diretório.
Se isso falhar, você terá que redirecionar todas as requisições para um único script PHP através do mod_rewrite, então verifique a autenticação, abra o arquivo solicitado e retorne para o usuário.