Manejar los directorios index con un archivo .htaccess

 

Generalidades

En este artículo se explica cómo administrar la función de indexación de directorios en DreamHost, que está habilitada de manera predeterminada. Esta función te permite controlar lo que ven los visitantes cuando visitan tu sitio web.

Antecedentes

La indexación de directorios permite a los visitantes ver una lista de archivos en lugar de la página web real. Cuando la indexación de directorios está habilitada, los visitantes pueden buscar dentro de cualquier directorio que no tenga un archivo index.html (o index.php) y explorar su contenido. Probablemente este no sea el comportamiento que normalmente deseas, especialmente si el directorio contiene archivos de configuración de scripts, lo que puede representar un riesgo de seguridad.

Revisa este artículo para obtener más información sobre cómo crear un archivo .htaccess en tu servidor web

Si el archivo ya existe, revisa los siguientes artículos para obtener instrucciones sobre cómo actualizarlo (dependiendo de si está utilizando un cliente FTP o SSH):

Cómo gestionar los índices de directorios

Puedes controlar cómo funcionan los índices de directorio en tu sitio web realizando varias modificaciones en el archivo .htaccess.

Si tu servidor web se actualizó recientemente a Ubuntu 18 (Bionic), tu sitio puede mostrar una página de Coming Soon que no existe en tu servidor web. Para solucionar esto, puedes agregar la siguiente línea al archivo .htaccess de tu sitio:

DirectoryIndex disabled

Desactivar índices de directorios

Para deshabilitar los índices de directorio en todo tu sitio, coloca la siguiente línea dentro de un archivo .htaccess en la carpeta del dominio:

Options -Indexes

Cuando un visitante intenta explorar el contenido de cualquier directorio de tu sitio, aparece un error 403 (Prohibido).

Si un subdirectorio contiene un archivo de índice (como index.html), ese directorio aún va a ser cargado. Esta opción solo deshabilita directorios sin archivos de índice.

Activar índices de directorios para ciertas carpetas en específico

Si hay un directorio en particular en tu sitio que quieres que los visitantes puedan navegar, simplemente crea un nuevo archivo .htaccess en esa carpeta en particular y agrega lo siguiente:

DirectoryIndex disabled
Options +Indexes

Esto anula la configuración global y permite a los usuarios ver los contenidos de ese directorio.

Archivos de índice alternativos

Cuando un visitante accede a tu sitio web, el servidor busca en la carpeta un archivo de índice. Algunos ejemplos de archivos de índice comunes son:

  • index.htm
  • index.html
  • index.php
  • index.cgi
  • index.pl

Los archivos de índice admitidos dependen de la configuración del servidor. Los servidores de DreamHost están configurados para:

DirectoryIndex index.html index.shtml index.htm Index.html Index.htm Index.shtml default.htm Default.htm default.html Default.html default.shtml Default.shtml page1.html index.pl index.cgi index.php index.php3 index.phtml home.htm home.html home.shtml index.wml index.pcgi quickstart.html

Directrices para los archivos índice

Asegúrate de tener en cuenta lo siguiente al trabajar con archivos índice alternativos:

  • Siempre que nombre tu archivo index con cualquiera de las opciones anteriores, se cargará automáticamente.
  • Cuando agregas un nuevo dominio/subdominio a tu cuenta, DreamHost crea un archivo quickstart.html para ti y lo coloca en tu directorio, que se carga de forma predeterminada a menos que lo elimines o agregues tu propio archivo de índice.
  • Si tienes dos archivos con nombres de la lista anterior, Apache muestra el que aparece primero (por ejemplo, index.html aparece incluso si tienes un archivo index.php en el mismo directorio).
  • Puedes cambiar tu configuración de DirectoryIndex por la que desees utilizando un archivo .htaccess. Si el servidor no puede encontrar un archivo de índice, intenta mostrar un índice de todos los archivos dentro del directorio actual; sin embargo, si esta opción está deshabilitada, el servidor muestra un error 404 prohibido.

Cambiar el archivo de índice

Usando un archivo .htaccess, puedes cambiar el archivo de índice a cualquier otra cosa que no sea uno de los valores predeterminados de índice mencionados anteriormente. Para hacer esto, inserta la siguiente línea en un archivo .htaccess:

DirectoryIndex pagename.html

Cambia pagename.html a la página que deseas utilizar como archivo de índice. Cuando visitas tu sitio, aparece el archivo pagename.html, no tu archivo index.html.

Si falta el DirectoryIndex

Si especificas algo como example.html como DirectoryIndex y no has cargado este archivo en tu directorio web, Apache muestra una lista de todos los archivos ya que no puede encontrar el que especificó. Ten cuidado con el lugar donde coloca esta regla (o cualquier regla) porque es recursiva.

Listado de directorios a prueba de fallos

Lo que ves a continuación permite que un archivo en específico cargue por dado el caso no haya un archivo de índice ya establecido:

Options -Indexes
DirectoryIndex index.php index.html /example.php

Cuando un visitante solicita un directorio, Apache busca index.php y index.html. Si no se encuentra ninguno, muestra /example.php.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?