Tramite dei moduli potete integrare in Apache numerose funzionalità, anche per eseguire degli script CGI nei vari linguaggi di programmazione. E questo non vale solamente per Perl e PHP, ma anche per ulteriori linguaggi di scripting come Python oppure Ruby. Inoltre, vi sono dei moduli per una trasmissione sicura dei dati (secure sockets layer, SSL), l'autenticazione degli utenti, logging esteso e tanto altro ancora.
Potrete compilare dei moduli per adattare Apache anche alle vostre preferenze più insolite. Chiaramente questo presuppone un certo know-how. Per ulteriori informazioni si veda la sezione Section 23.12.4, “Ulteriori fonti”
Per l'elaborazione di richieste, Apache utilizza uno o più “handler” (indicati tramite delle direttive nel file di configurazione). Questi handler possono essere parte integrante di Apache oppure si può invocare un modulo per l'elaborazione della richiesta. In tal modo è data una certa flessibilità nel modo di procedere. Inoltre vi è la possibilità di integrare in Apache dei moduli che avete compilato voi per poter intervenire sul processo di elaborazione delle richieste.
In Apache il concetto di modularizzazione è stato esteso notevolmente, qui il server svolge solo una funzione minimale ed il resto viene realizzato tramite dei moduli. Per fare un esempio in Apache persino il processo di elaborazione di HTTP viene realizzato tramite dei moduli. Apache quindi non deve girare a tutti i costi come server web, grazie ai moduli può assumere anche delle funzioni del tutto differenti. Per esempio vi è un modulo per implementare un server di posta "proof-of-concept" (POP3) basato su Apache.
Apache supporta una serie di utili feature di cui segue una breve rassegna.
Tramite host virtuali con una istanza di Apache su di un singolo sistema potrete gestire diversi siti web, laddove questo procedimento è trasparente per l'utente finale, il quale non si accorge di trovarsi di fronte a un server che gestisce diversi siti web. Gli host virtuali possono essere configurati con diversi indirizzi IP oppure basati sul nome. L'hosting virtuale consente di realizzare dei risparmi sul fronte dei costi d'acquisto e su quello del tempo da investire per l'amministrazione di ulteriori sistemi.
Apache offre una serie di possibilità per la riscrittura delle URL (URL rewriting). Per ulteriori dettagli consultate la documentazione di Apache.
Apache, in base alle funzionalità del client (browser), è in grado di fornire delle pagine su misura per il client in questione. In tal modo ad esempio a browser di vecchia data o browser che supportano solo il modo testo (p.es. Lynx) viene fornita una versione semplificata delle pagine, senza frame. In questo modo si aggira il problema derivante all'incompatibilità tra diversi browser in tema di JavaScript, fornendo ad ogni browser una versione adatta delle pagine (se non volete imbarcarvi nell'impresa di adattare il codice JavaScript ad ogni browser).
Se si verifica un errore (p.es. la pagina non è disponibile) vi è la possibilità di reagire in modo flessibile rispondendo in modo adeguato. Tramite CGI p. es., potrete comporre attivamente una risposta.