Il nome del file è giusto, deve chiamarsi .htaccess
Anche il contenuto di entrambi i file sembra corretto.
Quindi le cause possono essere due:
1- Ricordati che .htpasswd non lo devi creare tu, ma devi farlo tramite il tool htpasswd di apache.
2- Per impostazione predefinita nell'httpd.conf è settato di negare la ridefinizione delle regole di sicurezza tramite il file htaccess
Per cambiare l'impostazione devi impostare il parametro AllowOverride su All (il predefinito è None).
Attenzione: devi modificarlo solo dove ti indico qua sotto, altrimenti il server potrebbe diventare poco sicuro
codice:
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "Cartella dei file">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
In questo modo apache ti dovrebbe leggere gli .htaccess
Ciao