La raccomandazione del progetto Apache è:
In generale, è necessario utilizzare i file .htaccess solo quando non si ha accesso al file di configurazione del server principale. ... un malinteso comune è che l'autenticazione dell'utente e le direttive mod_rewrite debbano andare nei .htaccessfile.
Quindi, per favore, sia impostare sia AllowOverride Nonetutte le altre direttive nel httpd.conf principale (e / o nelle sottosezioni Include)
Quando Apache non è configurato con AllowOverride Nonete, si verifica già una penalità di prestazione (minore), indipendentemente dal fatto che .htaccessvengano utilizzati o meno file.
Questo perché per ogni richiesta Apache dovrà verificare la presenza di un potenziale .htaccessfile in ogni (sotto-) directory che porta alla risorsa richiesta. Ad esempio, quando un file viene richiesto da una directory / www / htdocs / example, apache deve cercare i seguenti file:
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
Quindi, per ogni accesso ai file da quella directory, ci sono 4 accessi al file system aggiuntivi, anche se nessuno di questi file è presente. (Se AllowOveride è impostato su /)
La chiamata di sistema utilizzata per quello ( man 2 stat) da sola non è così costosa e in genere viene utilizzata la cache del file system piuttosto che eseguire il polling del disco effettivo, limitando gli effettivi requisiti di I / O, ma può ancora sommarsi, come sostiene questo articolo .
Quando uno o più .htaccessfile effettivi sono effettivamente presenti, Apache deve ancora opene leggerlo (attivando un'altra operazione di lettura IO e di solito anche un'operazione di scrittura IO per aggiornare l' atimeattributo del filesystem ) e analizzarlo prima che la logica in esso presente possa essere applicata.
A differenza di quando le direttive sono in linea di massima httpd.conf, il che richiede solo apache per analizzarle una volta, all'avvio, ogni .htaccessfile deve essere interpretato di nuovo per ogni singola richiesta.
Quanto è costoso, oltre alle operazioni IO, analizzare i file .htaccess dipende dalla loro complessità.
Ciò richiederà un'attenta valutazione comparativa per determinare.