.htaccess è un formato di file di configurazione utilizzato dai server web, utilizzato per ordinare i contenuti di un sito web.
Il nome del file inizia con un punto perché i file che iniziano con un punto in ambiente Unix-like sono file nascosti.
Esso si colloca all'interno delle directory http del server e ha effetto sulla directory stessa e sulle sue sottodirectory.
Il file .htaccess, inserito nell'albero delle directory del server, è in grado di sovrascrivere alcune impostazioni normalmente regolate all'interno della configurazione globale del server. Nelle situazioni di hosting condiviso raramente gli utenti hanno modo di manipolare i file di configurazione del server: in questo caso è possibile utilizzare .htaccess per personalizzare, per quanto possibile, la configurazione del server stesso.
Lo scopo originale dei file .htaccess era quello di consentire il controllo dell'accesso alle cartelle (per esempio, chiedendo una password per accedere al contenuto di una cartella). Oggi i file .htaccess possono sovrascrivere molte altre impostazioni della configurazione, la maggior parte relative al controllo dei contenuti (per esempio: tipo di contenuti e character set, gestione degli URL, handler CGI, ecc.).
Nei server Web Apache (Apache HTTP Server), il formato di .htaccess è lo stesso del file della configurazione globale del server;[1] gli altri server Web (come Sun Java System Web Server e Zeus Web Server) implementano la stessa sintassi anche se i loro file di configurazione sono molto differenti. Le direttive dei file .htaccess si applicano alla cartella corrente e a tutte le sottocartelle (a meno che non si disabilita esplicitamente questo comportamento nella configurazione del server) ma, per ragioni di prestazioni e sicurezza, non si applicano alle cartelle del livello superiore.
I file .htaccess vengono letti ad ogni richiesta, di conseguenza le modifiche apportate a questi file hanno un effetto immediato a differenza del file di configurazione principale che richiede il riavvio del server per applicare le nuove impostazioni.
Per i server con più utenti, così come nei piani di hosting Web condiviso, molti Web master desiderano spesso concedere ai singoli utenti di modificare la configurazione del loro sito. In generale, i file .htaccess dovrebbero essere utilizzati dagli utenti che non hanno accesso ai file di configurazione del server principale.[3]
Per controllare Apache, è consigliabile utilizzare il file di configurazione del server httpd.conf
[4] per motivi di sicurezza e prestazioni:[5]