Clicky

Permitir acceso a los robots a determinados directorios

acceso denegado, Forbidden

Utilizar las directivas FollowSymLinks y Indexes en el archivo .htaccess

Hace unos días veíamos como prohibir el acceso a nuestros sitios web a los robots indeseables, o bad bots, con nuestro buen amigo el archivo .htacces .

El .htaccess es un archivo muy polivalente que nos permite multitud de modificaciones a la configuración global de los servidores web.

Para obtener una mayor seguridad en un servidor Apache es recomendable que, por defecto, la directiva Options en el archivo httpd.conf esté, tanto en las reglas específicas de cada servidor virtual (VirtualHost) o cada directorio específico (Directory) en FollowSymLinks -Indexes.

Por defecto en nuestra configuración de Apache para el directorio público tendremos el acceso permitido, algo parecido a esto:

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>

Y ya en nuestro virtual host lo prohibiremos con la instrucción -Indexes:

<VirtualHost *:80>
<Directory /home/vistaalmar/public_html>
    Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
    allow from all
    AllowOverride All
</Directory>
</VirtualHost>

Con esto conseguiremos que nadie pueda entrar y ver lo que tenemos en nuestros directorios (pero si ver y leer los archivos dentro de ellos). Para ver una explicación completa de cómo funciona la directiva FollowSymLinks junto con Indexes ver: FollowSymLinks (en inglés).

Pero en algunas situaciones nos será de utilidad que puedan verse algunos directorios, específicamente los de contenido multimedia para que sus archivos puedan ser indexados por los robots de los buscadores. Como ejemplo me dirijo a un aviso de Acceso denegado que tenía en las Herramientas para webmaster de Google y un error "forbidden acceso denegado" a los buscadores (tanto de Google como de Microsoft) en los logs de Apache para el directorio de WorPress /wp-content/uploads/wppa (que es de un plugin para un álbum de imágenes).

Acceso denegado carpeta WordPress en Webmasters tools

Para solucionar esto y permitir el acceso a este directorio le tendremos que dar permisos 777 y en el directorio superior, /wp-content/uploads , crear un archivo .htaccess con este contenido:

Options +Indexes
Order allow,deny
Allow from all

Este tip puede valer para cualquier directorio al que queráis dar acceso público.

Jesus_Caceres