El .htaccess de Apache es una de esas cosas que generan opiniones bastante enfrentadas: por un lado da flexibilidad total a nivel de directorio sin tocar la configuración central del servidor (útil en hosting compartido, donde ni tienes acceso a esa configuración central), pero por otro lado Apache tiene que comprobar la existencia de .htaccess en cada directorio de la ruta en cada petición si AllowOverride está activado, lo que tiene un coste de rendimiento nada despreciable.
¿Vosotros lo seguís usando activamente para reglas de reescritura, redirects, cabeceras de seguridad, etc, o en cuanto tenéis acceso a la configuración central (httpd.conf/vhosts) migráis todo ahí y desactivas AllowOverride por rendimiento?
Nuria
En mi caso, depende directamente de quién administra el servidor. Cuando tengo acceso completo a la configuración central (VPS/servidor dedicado propio), desactivo AllowOverride y muevo todo a los vhosts centrales sin dudarlo, por el coste de rendimiento que mencionas: Apache tiene que comprobar la existencia de .htaccess en cada directorio de la ruta en cada petición, y ese coste es innecesario si de todas formas tengo acceso para configurarlo de forma centralizada.
Donde sigo dependiendo de .htaccess por pura necesidad, no por preferencia, es en hosting compartido de terceros donde no hay ningún acceso a la configuración central del servidor. Ahí no es una elección de diseño, es la única herramienta disponible para reglas de reescritura, redirects o cabeceras personalizadas.
Lo que sí intento siempre, tenga o no acceso a la config central, es mantener el .htaccess lo más pequeño posible, evitando reglas complejas de reescritura anidadas que sean difíciles de depurar después. Si el hosting me da acceso más adelante, migrar un .htaccess pequeño y ordenado a la config central es trivial; migrar uno enorme con lógica acumulada durante años es bastante más doloroso.
Elena