10 códigos para el archivo htaccess muy, pero que muy útiles

El archivo htaccess es un fichero especial, popularizado Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache. Es decir, podremos modificar directivas a nivel servidor sin tener que entrar en el propio servidor a configurarlas. Hay que decir que todo tiene un límite. Las principales empresas de hosting tienen capadas ciertas sentencias para que no puedan ser ejecutadas por htaccess y no poner en peligro, así, a los demás clientes de la máquina.

En este artículo te mostramos 10 códigos para el archivo htaccess muy, pero que muy útiles…

Códigos para el archivo htaccess muy, pero que muy útiles

A continuación te mostramos 10 códigos para el archivo htaccess.

archivo htaccess

Denegar el acceso a todos los archivos htaccess

El código de a continuación niega el acceso a todos los archivos htaccess que tengas en tu instalación de WordPress. De esta manera puedes evitar que la gente pueda ver la configuración de tu servidor web.

# Denegar el acceso a todos los archivos htaccess
<Files ~ "^.*\.([Hh][Tt][Aa])">
Order Allow,Deny
Deny from all
Satisfy all
</Files>

Proteger la configuración de WordPress

El fichero wp-config.php contiene la configuración de tu WordPress, incluyendo información tan importante como las credenciales de tu base de datos. Puedes, o bien negar el acceso a dicho fichero a todo el mundo, o bien que solo el admin pueda acceder a él.

Si quieres hacer esto último, descomenta la línea de # Allow from xx.xx.xx.xx (es decir, quita el caracter #) e inserta la dirección IP del admin en lugar de xx.xx.xx.xx.

# Proteger wp-config
<Files wp-config.php>
Order Allow,Deny
# Allow from xx.xx.xx.xxx
# Allow from yy.yy.yy.yyy
Deny from all
</Files>

Prevenir ataques DDoS

WordPress soporte XML-RPC por defecto, que es una interfaz que hace posible la publicación de contenido de forma remota. Es una gran característica, pero también una de las mayores vulnerabilidades de WordPress ya que los hackers suelen aprovecharla para llevar a cabo ataques DDoS.

Si no utilizas esta característica, lo mejor es desactivarla. Al igual que hemos hecho antes, puedes añadir excepciones descomentando el # Allow from xx.xx.xx.xx y añadiendo la IP del admin.

# Prevenir ataques DDoS
<FilesMatch "^(xmlrpc\.php)">
Order Deny,Allow
# Allow from xx.xx.xx.xxx
# Allow from yy.yy.yy.yyy
Deny from all
</FilesMatch>

Proteger el área de administración

También es muy buena idea proteger el admin de WordPress dando acceso únicamente a los administradores. A continuación tienes el código para llevarlo a cabo. Por favor, no olvides modificar la línea del «Allow xx.xx.xx.xx» y agregar las IPs de los administradores.

# Proteger admin de WordPress por IP
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Panel de control"
AuthType Basic
<LIMIT GET>
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xxx
Allow from yy.yy.yy.yyy
</LIMIT>

Impedir el listado de directorios

Muchos sitios web desarrollados con WordPress no deshabilitan el listado de directorios, lo que se traduce en que cualquiera puede navegar entre las carpetas y archivos de la instalación, incluyendo imágenes, documentos, plugins… Esto que, a priori puede parece algo banal, es un gran agujero de seguridad.

Por suerte, solo necesitas una sola línea de código para impedir esto. Este código devuelve un error 403 a cualquier que intente acceder a los directorios de tu instalación.

# Impedir el listado de directorios
Options -Indexes

Bloquear a spammers y a bots

Hay veces que, debido al volumen de spam, lo mejor es restringir al acceso a ciertas direcciones IP. Este snippet de código te proporciona una manera sencilla de bloquear a los spammers y a los bots que ya tengas fichados.

# Bloquear a spammers y a bots
<Limit GET POST>
Order Allow,Deny
Deny from xx.xx.xx.xxx
Deny from yy.yy.yy.yyy
</Limit>
Allow from all

Impedir el hotlinking de imágenes

Aunque no son una amenaza a la seguridad de tu sitio, el hotlinking de imágenes es algo muy molesto. No solo se utilizan tus imágenes sin tu permiso, sino que encima lo hacen a tu costa incrementando el tráfico. Con estas pocas líneas de código, puedes proteger tu sitio del hotlinking de imágenes.

# Prevents image hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tusitioweb.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tusitioweb2.com [NC]
RewriteRule \.(jpe?g?|png|gif|ico|pdf|flv|swf|gz)$ - [NC,F,L]

Crear redirecciones permanentes

Puedes gestionar redirecciones permanentes mediante tu archivo htaccess. Lo primero que tienes que hacer es añadir la antigua URL, y después la nueva URL a donde quieres redirigir la antigua URL. Creo que me he explicado con claridad, ¿verdad? Jejeje…

# Redirecciones permanentes
Redirect 301 /antiguaurl1/ http://tusitioweb.com/nuevaurl1
Redirect 301 /antiguaurl2/ http://tusitioweb.com/nuevaurl2

Enviar a los visitantes a una página de mantenimiento

Ya os hablamos de esta técnica en este artículo. Antes que nada, debes crear una página de mantenimiento aparte (algo así mantenimiento.html por ejemplo) y después asociarla a esta regla de htaccess. En sí, lo que hace este código es poner tu WordPress en modo mantenimiento.

# Redigir a pagina de mantenimiento
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=503,L]
</IfModule>

Habilitar la caché del navegador

El archivo htaccess no es simplemente útil por razones de seguridad y para crear redirecciones, también se pueden llegar a hacer multitud de cosas con él, como por ejemplo gestionar la caché. El código de más abajo sirve para almacenar cierto tipo de archivos en el navegador del usuario, para que así la velocidad de nuestro sitio web se incremente puesto que no tendrán que cargarlos en posteriores visitas.

# Habilitar la cache del navegador
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

Y hasta aquí nuestro artículo en el que te mostrábamos 10 códigos para el archivo htaccess muy, pero que muy útiles. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales. El icono de la imagen destacada es obra de Nikita Kozin. ¡Nos leemos!

 

Scroll al inicio