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.
Aristóteles Pagaltzis
fuente
LocationMatch
, requiere una expresión regular. b) Necesitas poner elrequire valid-user
interior delLocationMatch
bloque, por supuesto (¿por qué laLimit
declaración de todos modos?)Solo desea desactivar la visualización de Apache en el índice de la carpeta. Pon esto en el .htaccess:
De esta manera, cuando los usuarios visitan
http://www.url.com/folder/
, obtienen un error de denegación de directorio . Pero cuando visitanhttp://www.url.com/folder/file.jpg
pueden ver el archivo.fuente
Si desea que la lista del directorio sea visible solo para usuarios autorizados pero permita que cualquiera descargue un archivo (para que pueda enviar enlaces de personas), entonces necesita un script de algún tipo (PHP, ASP, etc.) que le solicite al usuario una contraseña y, si la obtienen correctamente, muestra el contenido del directorio. Pondría este script en el directorio y lo nombraría como index.php para que se sirva en lugar de apache generando un índice de directorio.
fuente
Si. Agregue un archivo index.html que enumere el contenido de la carpeta y restrinja el acceso a ese archivo con .htaccess. Si desea que el índice sea dinámico, deberá usar algún tipo de secuencia de comandos (o incluir en el lado del servidor) para generar el índice.
fuente
Realice un chmod 777 en los archivos, pero no en la carpeta principal.
fuente