¿Es posible ocultar las carpetas en mi carpeta raíz? ¿Por si desaparecía mi index.php?Ocultar carpetas con .htaccess
¿Podría mostrar también el error 404 no encontrado si alguien los solicita?
¿Es posible ocultar las carpetas en mi carpeta raíz? ¿Por si desaparecía mi index.php?Ocultar carpetas con .htaccess
¿Podría mostrar también el error 404 no encontrado si alguien los solicita?
IndexIgnore *
Lo anterior evitaría que se enumeren todos los archivos. Aquí *
actúa como un comodín. Puede reemplazarlo con algo más específico, si es necesario.
Lo que se quiere es probablemente
Options -Indexes
que se acaba de dar un error 404 si no se encuentra el archivo DirectoryIndex.
Creo que es más bien un 403. – Gumbo
Como se ha mencionado por duskwuff, lo que necesita es
Options - Indexes
Esto causará un error de 403 prohibida en ese directorio en particular. Por tanto, proporcionar una página de error personalizada que necesitará
ErrorDocument 403 myErrorPage.html
Esperanza esto ayuda
Esta respuesta tardó 5 horas, pero debería ser la respuesta aceptada.Esto con un archivo de índice no producirá un error, que luego puede manejar o utilizar el servidor predeterminado uno. La respuesta aceptada simplemente ocultará las carpetas en la página de vista de directorio. Por lo tanto, produce un falso positivo. Publicación anterior pero en los mejores resultados de google. – Mayhem
Para mí siempre trabaja con la adición de
<Directory "/var/www/yourfolder"> IndexIgnore * </Directory>
en el archivo/etc/apache2/sites-available/predeterminado
Esta fue mi solución preferida para el mismo problema (esto muestra un acceso denegado en lugar de 404):
<files "/path/to/single/file/or/folder">
order allow,deny
deny from all
</files>
Esto también le da la opción de dar acceso a cierta IP (en este caso se niegan de acceso a todos)
El "/ ruta/a/sola carpeta/archivo/o /" se puede sustituir por regex si quieres usar un patrón en su lugar. De lo contrario, debe usar varios bloques para cada archivo o carpeta específicos a los que desee bloquear el acceso.
Si realmente desea mostrar un error 404 subcarpeta (s), pruebe lo siguiente en /.htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [R=404,L]
Si un existente /folder
o /subfolder
se solicita, la regla anterior se reescribirla a /404
.
Entiendo esto agregando un index.html en todas las carpetas a las que no quiero acceder. La página index.html contiene una sola línea con el siguiente header("Location:thepageiwanttoshown.html")
. De esta forma, si el usuario visita accidentalmente las carpetas restringidas, será redirigido sobre la marcha. Espero que ayude
reemplace '*' ¿cómo? Supongamos que tengo 3 archivos y 1 carpeta que quiero ocultar ('archivo1.jpg, algunos.pdf, else.html, i-am-a-carpeta') – Omar
IndexIgnore no impide el acceso a ubicaciones de archivos conocidos dentro de la carpeta que protege Un htaccess con: 'order allow, deny' ' deny from all' haría un mejor trabajo. – GTodorov