Para aquellos que tenéis problemas con este archivo o no sabéis lo que es el archivo .htaccess, se va a explicar lo esencial y cómo configurarlo correctamente para WordPress. Te vamos a exponer las funciones de mayor interés que se pueden realizar con este archivo. A la hora de realizar un diseño web profesional, viene bien conocer este archivo que nos puede ofrecer funcionalidades de redirección y seguridad entre otras.
Tabla de contenidos
¿Qué es el archivo .htaccess?
El .htaccess es un archivo de configuración que es interpretado por servidores web Apache y otros servidores web compatibles, el archivo .htaccess define la configuración y el funcionamiento para la carpeta donde se encuentra el archivo .htaccess.
Se trata de un archivo oculto, por eso lleva el ‘.’ delante que se indica así en sistemas operativos basados en UNIX / Linux.
El archivo .htaccess es modificado solo por quien tiene permisos de administrador / root, ya que es un archivo de vital importancia para tu web y un uso inadecuado podría hacer que tu web se “destruyera”.
Para editar este archivo, simplemente tendrás que acceder a tu servidor donde tengas los archivos de tu web, y ahí lo encontrarás en el directorio raíz. Para ello puedes acceder desde el panel de tu hosting, o con herramientas como FileZilla para descargar archivos de tu servidor web.
Configurar archivo .htaccess para WordPress
WordPress por defecto ya trae el fichero .htaccess que permite que WordPress funcione.
Por defecto este archivo aparecerá así:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#
END WordPress
Pero para mejorar la seguridad y el rendimiento de tu WordPress, deberás realizar algunos ajustes como los expuestos a continuación.
Proteger el acceso al propio archivo .htaccess
Para evitar ataques indeseados hacia este archivo, se deberá añadir:
Order allow,deny
Deny from all
Proteger el área de Administración por IP
Para limitar desde que direcciones IP puedes acceder al área de administración:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName «WordPress Admin Access Control»
AuthType Basic
order deny,allow
deny from all
# Aquí deberá ir la IP que quieras permitir
allow from xx.xx.xx.xxx
# Aquí otra IP que quieras permitirallow from xx.xx.xx.xxx
Deshabilitar el browsing de directorios
Impide que los usuarios puedan ver la estructura de ficheros de una determinada carpeta de tu servidor. Con lo siguiente estaría listo:
Options –Indexes
Desactivar Hotlinking de imágenes
En ocasiones webs externas hacen referencia a imágenes de tu web, esto evidentemente lleva al consumo de recursos de tu servidor para cargar esas imágenes en la otra web externa.
Este código nos permitirá que solo se carguen imágenes que se muestren en tu dominio o desde Google:
#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tudominio.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
Deshabilitar PHP en algunos directorios
Ejecutar PHP dentro de los directorios /wp-includes/ o /wp-content/ podría ser un problema de hacking como la construcción de una backdoor “puerta trasera”. De esta forma los atacantes pueden colocar código malicioso en un directorio.
La solución a esto vendría a ser crear un archivo .htaccess en cada directorio que se desee proteger principalmente en los dos mencionados al principio de este apartado e incluir el siguiente código en dicho archivo:
deny from all
Crear redirecciones 301
Esta configuración puede llegar a ser muy importante debido a que si tenemos un enlace roto podemos redireccionar la URL antigua a la URL nueva es decir la que funciona correctamente, o simplemente por el motivo que sea queremos una redirección, y esto se consigue de la siguiente forma:
Redirect 301 /urlantigua/https://www.tudominio.es/urlnueva
Enviar a los motores de indexación hacia robots.txt y evitar los bots maliciosos
Los bots maliciosos que pueden sobrecargar nuestro servidor realizando muchas peticiones de indexación. Una forma de evitar esto y además dirigir adecuadamente a los motores ‘no maliciosos’ a nuestro archivo robots.txt insertaremos este código:
RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
RewriteCond %{REQUEST_URI} robots.txt [NC]
RewriteRule .* http://your-site.com/robots.txt [R=301,L]
Bloquear comentarios spam
Otra función bastante interesante de este archivo vendría a ser bloquear el spam:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
En conclusión, el archivo .htaccess importante para una web, bien configurado es una herramienta híper potente del que depende gran parte de los recursos de nuestro servidor y la seguridad de nuestra web.
Me ha servido de mucha ayuda, gracias.