Saber configurar el archivo .htaccess es esencial en los tiempos que corren para los programadores web. A pesar de su apariencia simple, este pequeño archivo de configuración puede mejorar significativamente el rendimiento, la seguridad y la estructura de tu sitio web.
En esta guía, exploraremos qué es el .htaccess, cómo utilizarlo y por qué es crucial para el éxito de tu presencia en línea.
Índice
- ¿Qué es el archivo .htaccess?
- Ubicación y creación del archivo .htaccess
- Funciones principales y ejemplos prácticos
- Optimización SEO con .htaccess
- Seguridad y protección
- Mejora del rendimiento
- Solución de problemas comunes
- Mejores prácticas y precauciones
1. ¿Qué es el archivo .htaccess?
El archivo .htaccess (HyperText Access) es un archivo de configuración utilizado en servidores web Apache. Permite modificar la configuración del servidor a nivel de directorio sin necesidad de acceder a los archivos de configuración principal.
Ejemplo básico de un archivo .htaccess:
# Activar el motor de reescritura
RewriteEngine On
# Redirigir HTTP a HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
2. Ubicación y creación del archivo .htaccess
El archivo .htaccess se ubica generalmente en la raíz de tu sitio web. Si no existe, puedes crearlo fácilmente:
- Abre un editor de texto (como Notepad++ o TextEdit).
- Crea un nuevo archivo.
- Guárdalo con el nombre exacto «.htaccess» (sin extensión).
- Sube el archivo a la raíz de tu sitio web mediante FTP.
Advertencia: al incluir el punto «.» al comienzo del fichero, le indicamos al sistema operativo que es un archivo oculto.
3. Funciones principales y ejemplos prácticos
Redirección de URLs
# Redireccionar una página específica
Redirect 301 /pagina-antigua.html https://www.tusitio.com/pagina-nueva.html
# Redireccionar un directorio completo
RedirectMatch 301 ^/directorio-viejo/(.*)$ https://www.tusitio.com/directorio-nuevo/$1Personalización de páginas de error
ErrorDocument 404 /pagina-404-personalizada.html
ErrorDocument 500 /error-servidor.htmlPrevenir listado de directorios
Options -Indexes4. Optimización SEO con .htaccess
Reescritura de URLs amigables
RewriteEngine On
RewriteRule ^articulo/([0-9]+)/([a-zA-Z0-9-]+)$ articulo.php?id=$1&titulo=$2 [L]Redirección de URLs antiguas a nuevas
Redirect 301 /categoria-antigua /nueva-categoriaImplementación de canonicalización
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>5. Seguridad y protección
Protección de directorios con contraseña
AuthType Basic
AuthName "Área Restringida"
AuthUserFile /ruta/al/.htpasswd
Require valid-userBloqueo de acceso a archivos sensibles
<FilesMatch "(^#.*#|\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|sw[op])|~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
6. Mejora del rendimiento
Habilitación de la compresión Gzip
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>Configuración de caché del navegador

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>7. Solución de problemas comunes
Aumento del límite de subida de archivos
php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 300
php_value max_input_time 300Prevención de hotlinking de imágenes
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tusitio.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]8. Mejores prácticas y precauciones
- Siempre haz una copia de seguridad antes de modificar el .htaccess.
- Verifica los cambios en un entorno de prueba antes de aplicarlos en producción.
- Utiliza comentarios para documentar tus modificaciones.
- Evita reglas de reescritura complejas que puedan afectar el rendimiento.
Advertencia: Un error en el archivo .htaccess puede hacer que tu sitio web sea inaccesible.
Si esto ocurre, simplemente elimina o renombra el archivo .htaccess para restaurar el acceso.
Sigue aprendiendo con Maníaco Digital
Si quieres ver más información sobre .htaccess visita el siguiente enlace:
Y si te ha gustado este artículo y quieres más, no dudes en visitar el siguiente enlace: BLOG






