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 .htaccess
file.
Quindi, per favore, sia impostare sia AllowOverride None
tutte le altre direttive nel httpd.conf principale (e / o nelle sottosezioni Include
)
Quando Apache non è configurato con AllowOverride None
te, si verifica già una penalità di prestazione (minore), indipendentemente dal fatto che .htaccess
vengano utilizzati o meno file.
Questo perché per ogni richiesta Apache dovrà verificare la presenza di un potenziale .htaccess
file 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ù .htaccess
file effettivi sono effettivamente presenti, Apache deve ancora open
e leggerlo (attivando un'altra operazione di lettura IO e di solito anche un'operazione di scrittura IO per aggiornare l' atime
attributo 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 .htaccess
file 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.