¿Qué es el archivo .htaccess?
También llamado: htaccess, archivo de configuración de Apache
Definición
El .htaccess es un archivo de configuración de Apache que se coloca en una carpeta de la web y cambia su comportamiento: redirecciones, URL amigables, protección con contraseña, caché o bloqueo de IPs.
Su gran ventaja es que no requiere acceso de administrador al servidor: en un hosting compartido basta con editar este archivo en la carpeta de tu web. Las reglas se aplican a esa carpeta y a todas sus subcarpetas.
Ejemplo
Un .htaccess típico de WordPress, con redirección a HTTPS y caché de imágenes:
# Forzar HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Caché del navegador para imágenes
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 year"
</IfModule>
# 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
Cosas que conviene saber
- Es un archivo oculto (empieza por punto). En el administrador de archivos o en el cliente FTP hay que activar «mostrar archivos ocultos».
- Solo funciona en Apache y LiteSpeed. Nginx lo ignora por completo.
- Apache lo lee en cada petición, así que, si tienes acceso a la configuración del servidor, es algo más eficiente poner allí las reglas.
Errores habituales
- Un error de sintaxis provoca un error 500 en toda la web. Guarda una copia antes de editar para poder volver atrás al momento.
- Escribir reglas dentro del bloque
# BEGIN WordPress … # END WordPress: WordPress lo sobrescribe y se pierden.
¿Tienes un producto o servicio relacionado con .htaccess? Anúnciate en este término.
Términos relacionados
- ApacheApache HTTP Server es uno de los servidores web más veteranos y extendidos. Es...
- Redirección 301Una redirección 301 indica al navegador y a los buscadores que una URL se...
- Error 500El error 500 (Internal Server Error) indica que algo ha fallado en el servidor...
- NginxNginx es un servidor web de alto rendimiento que también se usa como proxy...
- HTTPSHTTPS es HTTP con cifrado TLS. Protege los datos que viajan entre el navegador...