Mi solución para dejar de mostrar el contenido del directorio como lista y mostrar el error 404 es simple. Cree el archivo .htaccess en el directorio raíz de su proyecto y escriba qué directorios deben protegerse.
Estructura de directorios
- your_root_directory
- .htaccess
- 404.html
- index.html
- app
- other files I do not want to show
- models
- other files I do not want to show
.htaccess
RewriteEngine On
RewriteRule ^app/ - [R=404,L]
RewriteRule ^models/ - [R=404,L]
ErrorDocument 404 /your_root_directory/404.html
La segunda línea de .htaccess no permite el acceso a elementos de la lista en el directorio de aplicaciones y todos sus subdirectorios.
La tercera línea de .htaccess no permite el acceso a elementos de la lista en el directorio de modelos y todos sus subdirectorios.
El cuarto de la línea .htaccess establece nuestro propio error 404 (si no desea mostrar el error predeterminado de apache).
Recuerde borrar el caché en su navegador cuando trabaje con htaccess.