La recomendación del proyecto Apache es:
En general, solo debe usar archivos .htaccess cuando no tiene acceso al archivo de configuración del servidor principal. ... un error común es que las directivas de autenticación de usuario y mod_rewrite deben ir en los .htaccess
archivos.
Por lo tanto, establezca AllowOverride None
y todas sus otras directivas en el httpd.conf principal (y / o las subsecciones que usted Include
)
Cuando Apache no está configurado con AllowOverride None
usted, ya se produce una penalización de rendimiento (menor), independientemente de si .htaccess
se utilizan archivos o no .
Esto se debe a que, para cada solicitud, Apache deberá verificar la presencia de un .htaccess
archivo potencial en cada (sub) directorio que conduzca al recurso solicitado. Por ejemplo, cuando se solicita un archivo de un directorio / www / htdocs / example, apache debe buscar los siguientes archivos:
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
Y así, para cada acceso a archivos fuera de ese directorio, hay 4 accesos adicionales al sistema de archivos, incluso si ninguno de esos archivos está presente. (Si AllowOveride está configurado para /)
La llamada al sistema utilizada para ese ( man 2 stat
) en sí misma no es tan costosa y, por lo general, se usa la memoria caché del sistema de archivos en lugar de sondear el disco real, lo que limita los requisitos reales de E / S, pero aún así puede sumar, como se argumenta en este artículo .
Cuando uno o más .htaccess
archivos reales están realmente presentes, apache todavía necesita open
leerlo (desencadenando otra operación de lectura de E / S y, por lo general, también una operación de escritura de E / S para actualizar el atime
atributo del sistema de archivos ) y analizarlo antes de que se pueda aplicar la lógica.
A diferencia de cuando sus directivas están en main httpd.conf
, que solo necesita un apache para analizarlas una vez, al inicio, cada .htaccess
archivo debe interpretarse nuevamente para cada solicitud.
El costo, además de las operaciones de E / S, de analizar los archivos .htaccess depende de su complejidad.
Eso requerirá una evaluación comparativa cuidadosa para determinar.