Guía de .htaccess: el archivo de configuración más poderoso de Apache | Blog PEIGRIEGA
PEIGRIEGA Web & Hosting
Tips y Tutoriales Técnicos

Guía de .htaccess: el archivo de configuración más poderoso de Apache

calendar_month 10 Jan, 2025
schedule 7 min lectura
Autor Rodrigo Ruiz Diaz

¿Qué es el archivo .htaccess?

El archivo .htaccess (HyperText Access) es un archivo de configuración que permite controlar el comportamiento del servidor Apache a nivel de directorio. A diferencia de las configuraciones del servidor que requieren acceso de administrador, el .htaccess puede ser editado por el propietario del sitio desde cPanel.

Con el .htaccess podés:

  • Configurar redirecciones URL
  • Proteger directorios con contraseña
  • Bloquear acceso a IPs específicas
  • Configurar URLs amigables (como las de WordPress)
  • Activar la compresión GZIP
  • Configurar caché del navegador

El .htaccess de WordPress

WordPress genera automáticamente su .htaccess básico. Este es el código estándar:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Este código habilita las URLs amigables de WordPress (como /mi-articulo en lugar de /?p=123).

⚠️ Cuidado al editar: Un error de sintaxis en el .htaccess puede dejar tu sitio inaccesible con un error 500. Siempre hacé backup del .htaccess antes de editarlo, y probá en staging antes de aplicar en producción.

Redirecciones con .htaccess

Redirigir http a https (obligatorio)

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Redirigir www a sin www (o viceversa)

# www a sin www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

Redirección 301 de una URL específica

Redirect 301 /pagina-vieja https://www.tudominio.com/pagina-nueva

Seguridad con .htaccess

Proteger el wp-config.php

<Files wp-config.php>
order allow,deny
deny from all
</Files>

Bloquear una IP específica

Deny from 192.168.1.100

Bloquear el acceso a archivos PHP en uploads

<Directory /wp-content/uploads>
<Files *.php>
deny from all
</Files>
</Directory>

Caché del navegador con .htaccess

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
💡 El .htaccess está oculto: El nombre empieza con punto, lo que lo hace un "archivo oculto" en Linux. Para verlo en el Administrador de Archivos de cPanel, asegurate de activar la opción "Mostrar archivos ocultos".
¿Te pareció útil este artículo? ¡Compartilo!
RR

Rodrigo Ruiz Diaz

Especialista en infraestructura web y desarrollo en PEIGRIEGA. Me apasiona ayudar a empresas a escalar sus operaciones en internet mediante tecnología robusta y diseños excepcionales.

¿Tenés dudas o querés empezar ahora?

Nuestro equipo responde en minutos por WhatsApp. Sin tickets, sin esperas.