Prueba esto en tu .htaccess
:
Require valid-user
<Files ?*>
Order allow,deny
Allow from all
Satisfy any
</Files>
Aquí Require valid-user
requiere cualquier inicio de sesión conocido. Luego, modifica esta restricción para archivos con al menos un carácter en su nombre, esto es lo que coincidirá con el patrón global ?*
de la <Files>
sección, lo que significa que las reglas adjuntas se aplican a los archivos, pero no a los directorios.
En las reglas modificadas para archivos, la clave es Satisfy any
. Permite que la autorización sea satisfecha por las credenciales o la dirección IP. Luego permite que pase cualquier dirección IP, por lo que las solicitudes siempre están autorizadas.
Por lo tanto, ahora navegar por este directorio o cualquiera de sus subdirectorios requerirá un inicio de sesión, pero recuperar un archivo directamente de él no.
Que es lo que querías.