El archivo de configuración .htaccess en servidores web basados en Apache, es una herramienta muy útil que entre otras cosas nos puede ayudar a hacer nuestro site más seguro.
Por ejemplo con ayuda de las directivas DirectoryIndex e Indexes, podemos evitar el listado de archivos de los directorios de nuestro site.
También es importante proteger aquellos archivos y/o directorios considerados críticos, como los directorios de backend o archivos de configuración. Para evitar estos accesos disponemos de reglas que evitarían acceder a determinados directorios, como por ejemplo la regla deny from, que prohibiría el acceso a determinada IP, o la regla allow from que restringiría el acceso a todas salvo a la IP señalada:
order allow,deny deny from 1.2.3.4
Otra forma elegante de evitar el acceso, puede ser haciendo uso de las redirecciones, como por ejemplo:
Redirect 301 /index.php http://www.dominio.com/ Redirect 301 /wp-content/themes/index.php http://www.dominio.com/
Un ejemplo de .htaccess para un WordPress básico es;
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Como hemos visto, el .htaccess nos permite modificar diferentes variables de la configuración de nuestro alojamiento en el servidor. Además de limitar o el acceso a determinados directorios, crear URLs más amigables o fáciles de reconocer, crear diferentes redirecciones, restringir el acceso a direcciones IP’s, evitar el hotlink, o configurar el acceso la web con o sin www.