restringir permitir ocultar listar listado index htaccess evitar directorios denegar cómo crear con acceso apache virtualhost virtual-hosts

ocultar - Deshabilitar el listado de directorios en apache; pero se debe permitir el acceso a archivos individuales



ocultar index of apache (5)

No quiero usar .htaccess. ¿Cómo debo cambiar los atributos de mi directorio?

<VirtualHost *:80> ServerName abc.com DocumentRoot /usr/share/uploads <Directory " /usr/share/uploads"> Order allow,deny Allow from all </Directory> </VirtualHost>


La forma más sencilla sería colocar un index.html vacío (o lo que sea que Apache esté configurado para entregar de forma predeterminada) dentro de ese directorio. Esta no es una solución real sino una solución muy simple. El usuario que navega ese directorio solo verá una página en blanco en blanco.

Además, podría usar un script (como index.php) que emula el listado de directorios y solo muestra algunos archivos especiales.


La solución @Deepak no funcionó para mí. Este hizo:

En la configuración de apace principal /etc/apache2/httpd.conf solo agregue:

<Directory /> Options FollowSymLinks AllowOverride All </Directory>

Y funcionará para todos ustedes dominios y subdominios. Sin archivo .htaccess.


Realmente no pude encontrar una respuesta directa en internet; incluso en la documentación de apache. Finalmente, pudo encontrar la solución a través de pocas iteraciones; necesitamos usar Opciones y el valor NO debe contener Índices.

<Directory "/usr/share/uploads"> Options Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory>


Si está utilizando Debian / Ubuntu, vaya a la terminal y escriba

sudo a2dismod autoindex sudo service apache2 restart

Si está utilizando Centos / Fedora, simplemente haga:

mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp /etc/init.d/httpd restart

Y similarmente en otros sistemas operativos o distros ...

Esto debería deshabilitar el módulo de apache que hace que esas listas de directorios sofisticadas (normalmente inútiles y de seguridad). Además, como bono, ganas un poco de rendimiento :-)


Todo hecho arriba, pero la información del directorio sigue subiendo? Si usa index.php, en lugar de index.html, verifique lo siguiente:

<IfModule dir_module> DirectoryIndex index.php </IfModule>