Hosting y servidor

¿Cómo generar el archivo .htaccess de tu sitio?

El .htaccess es un archivo de configuración que le da órdenes al servidor Apache: forzar HTTPS, comprimir, poner caché, bloquear accesos. Se escribe en una sintaxis que no perdona un error de dedo, y un archivo mal puesto tumba el sitio entero. El generador de NEUBOX lo arma con interruptores.

Herramienta: Generador de .htaccess

Antes de nada: descarga una copia de tu .htaccess actual. Si algo sale mal, restaurarlo es cuestión de segundos, y sin copia no lo es.

Paso 1. HTTPS y la forma del dominio

Interruptores de forzar HTTPS, forzar www, forzar sin www y encabezado HSTS, con tres encendidos
Forzar www y forzar sin www son excluyentes: enciende solo uno.
  • Forzar HTTPS manda a la versión segura a quien llegue por HTTP. Enciéndelo siempre, pero solo cuando ya tengas certificado instalado. Si no lo tienes, mandas a todos a una página de error.
  • Forzar www o forzar sin www. Da igual cuál elijas, lo importante es elegir uno. Que las dos formas funcionen al mismo tiempo hace que Google vea dos sitios con el mismo contenido.
  • HSTS le dice al navegador que nunca más intente entrar por HTTP. Es más seguro, pero piénsalo dos veces: mientras esté puesto, el navegador de quien ya te visitó se niega a abrir tu sitio sin HTTPS, y quitarlo no es inmediato.

Paso 2. Seguridad

Opciones de seguridad: ocultar listado de directorios, proteger el propio htaccess, bloquear archivos de configuración, protección contra hotlinking y encabezados de seguridad
Las tres primeras conviene encenderlas siempre.

Tres que valen la pena en cualquier sitio:

  • Ocultar el listado de carpetas. Sin esto, una carpeta sin página de inicio muestra la lista de todos sus archivos a cualquiera que adivine la ruta.
  • Proteger el propio .htaccess, para que nadie lo lea desde el navegador.
  • Bloquear archivos de configuración. Es el que más cuenta: evita que alguien descargue tu archivo de variables de entorno, donde suelen estar las contraseñas de la base de datos.

Sobre la protección de imágenes contra uso desde otros sitios: sirve cuando alguien enlaza tus fotos y te gasta el ancho de banda. Pero enciéndela con cuidado, porque también bloquea las vistas previas cuando alguien comparte tu página en redes.

Paso 3. Páginas de error

Campos para las páginas de error 404, 403, 500 y 503
La ruta empieza con diagonal, desde la raíz del sitio.

La página de error 404 de Apache es una pantalla blanca con letras negras. Alguien que llega ahí se va. Una página propia, con tu menú y un buscador, lo mantiene en el sitio.

La ruta va desde la raíz, con diagonal al principio: /404.html. Y asegúrate de que ese archivo exista, porque un 404 que apunta a una página que tampoco existe es un problema mayor que el original.

Paso 4. Copia el archivo y súbelo

Archivo htaccess generado, con comentarios que separan cada bloque de configuración
Cada bloque va comentado, para que se pueda quitar uno sin romper el resto.

El archivo se llama .htaccess, con el punto al principio y sin extensión. Va en la raíz de tu sitio, normalmente la carpeta public_html.

Dos advertencias que se pagan caro:

  • Si usas WordPress, ya tienes un .htaccess y trae un bloque que WordPress necesita para que las direcciones bonitas funcionen. No lo reemplaces. Pega lo nuevo arriba o abajo de ese bloque, sin tocarlo. Si lo borras, todas tus entradas empiezan a dar 404.
  • Súbelo en modo texto, no binario, si usas un programa de FTP. Un archivo con los saltos de línea equivocados puede hacer que Apache no lo entienda.

Si el sitio se cae después de subirlo

Pasa, y no es grave si sabes qué hacer. Un error en el .htaccess tira el sitio con un error 500, sin más explicación.

  1. Renombra el archivo a .htaccess-viejo. El sitio vuelve al instante. Ya con calma buscas qué falló.
  2. Vuelve a subirlo por partes. Empieza con un bloque, revisa que cargue, agrega el siguiente. Así das con el culpable.
  3. Revisa el registro de errores en tu panel. Casi siempre trae el número de renglón exacto.

La causa más común: un módulo que tu servidor no tiene. Si Apache no tiene activada la compresión y el archivo la configura, el servidor no arranca. El generador envuelve cada bloque en una condición que comprueba si el módulo existe, justo para evitar esto.

Y si tu hosting no es Apache sino nginx, este archivo no le sirve de nada: nginx ni lo lee.

Herramientas que se usan junto con esta

En la página de la herramienta está la guía completa, con todos los usos del archivo explicados uno por uno.

Artículos relacionados