Apache da la possibilità di definire delle direttive specifiche per singola directory direttamente con un file di testo (di default chiamato .htaccess) presente in singole directory e quindi gestibile anche da chi non può intervenire direttamente sul file di configurazione principale.
Questa funzione è gestita con la direttiva AllowOverride
, il nome del file in cui possono essere impostate direttive che fanno un "override" della configurazione principale è definito con la direttiva:
AccessFileName
.htaccess (Il valore di default può essere modificato)
Quando Apache deve processare una richiesta, verifica se per quella directory è abilitato l'overriding e verifica se per ogni parent-directory esiste o meno il file .htacces.
Quando tutte le directory sono state verificate, Apache esegue il merge dando la precedenza a quelle opzioni abilitate nei file .htaccess trovati nei livelli più bassi.
La sintassi della funzione AllowOverride è simile a quella di Options, in totale ci sono 5 opzioni possibili oltre ad All e None
AuthConfig Permette l'utilizzo delle direttive Authname, AuthType, AuthUserFile (richiede il caricamento del modulo mod_auth)
FileInfo Permette l'uso delle direttive per il controllo dei file types come AddType, DefaultType, AddEncoding, AddLanguage, ErrorDocument etc..
Indexes Abilita le direttive per il controllo dell'output del contenuto delle directory
Limit Abilita l'uso del modulo mod_access e delle relative direttive, allow, deny, order per l'accesso alle risorse.
Options Abilita l'uso di Options e XBitHack
Anche per AllowOverride come per Options è possibile modificare semplicemente le direttive ereditate dai livelli più alti, utilizzando il prefisso - per disabilitare e il prefisso + per abilitare. Per esempio:
AllowOverrides
-Indexes +AuthConfig
Le direttive per la gestione della configurazione: IfModule, IfDefine, Include, Options e Overrides.