Site /

WEB: ¿Qué es el fichero htaccess?

Descripción

El fichero .htaccess es un archivo de configuración a nivel de directorio utilizado por el servidor Apache para aplicar reglas específicas sin necesidad de modificar la configuración global. Según la documentación oficial de Apache, permite definir directivas como control de acceso, reescritura de URLs, manejo de errores o ajustes de rendimiento, siempre condicionado por la directiva AllowOverride, que determina qué configuraciones pueden aplicarse en estos archivos.

A nivel normativo, el uso de .htaccess está regulado por las directivas del propio servidor Apache, especialmente AccessFileName, AllowOverride, Options, y los módulos relacionados como mod_rewrite, mod_authn_file, mod_authz_groupfile o mod_mime. Estas directivas definen el alcance, permisos y limitaciones del archivo, y su comportamiento está documentado en la Apache HTTP Server Documentation 2.4, que establece que su uso debe limitarse a casos donde no se tenga acceso al archivo de configuración principal debido a su impacto en el rendimiento.

Para profundizar en su funcionamiento, la guía oficial de Apache y recursos técnicos como la documentación de mod_rewrite explican cómo se procesan las reglas en contexto de directorio, cómo se interpretan las rutas y cuándo es necesario utilizar directivas como RewriteBase. También se detallan los requisitos previos para que las reglas funcionen, como habilitar AllowOverride FileInfo y Options FollowSymLinks, sin los cuales las reglas de reescritura son ignoradas. Estas referencias técnicas son esenciales para aplicar configuraciones avanzadas de forma correcta y segura.

Enlaces técnicos y documentación

.htaccess - Tutorial del Servidor Apache HTTP: Ficheros .htaccess

Ejemplo

# ---------------------------------------------------------
# 1. Forzar HTTPS en TODO el sitio
# ---------------------------------------------------------
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


# ---------------------------------------------------------
# 2. Seguridad esencial
# ---------------------------------------------------------

# Evitar XSS en navegadores antiguos
<IfModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
</IfModule>

# Evitar listado de directorios
Options -Indexes

# Bloquear acceso a archivos sensibles
<FilesMatch "\.(env|ini|log|sh|sql|bak|config)$">
    Require all denied
</FilesMatch>

# Proteger el propio .htaccess
<Files .htaccess>
    Require all denied
</Files>


# ---------------------------------------------------------
# 3. Rendimiento: Cache y compresión
# ---------------------------------------------------------

# Cache de archivos estáticos
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType text/html "access plus 1 hour"
</IfModule>

# Compresión GZIP
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/javascript application/json
</IfModule>


General Site

Última modificación de la página el 23 May 2026 a las 11h16
Powered by PmWiki