I container Apache sono direttive di configurazione speciali che raggruppano altre direttive. I contenitori utilizzano tag in stile XML, il che significa che l'inizio di un contenitore è
Questo contenitore applica le direttive alle directory all'interno di directory-path. L'esempio applica le direttive Deny, Allow e AllowOverride a tutti i file e le directory all'interno della gerarchia di directory /var/www/html/test. Il rientro è solo per la leggibilità.
<Directory /var/www/html/test> Deny from all Allow from 192.168.2. AllowOverride All </Directory>
Il AllowOverride direttiva in questo contenitore specifica le classi di direttive consentite nei file .htaccess. I file .htaccess sono altri file di configurazione che in genere contengono le direttive di autenticazione dell'utente. Il TUTTO argomento per AllowOverride significa che tutte le classi di direttive sono consentite nei file .htaccess. Esistono classi di direttive che controllano l'autorizzazione, controllano l'accesso ai client, controllano l'indicizzazione delle directory e altro.
Questo contenitore applica le direttive se module-name è caricato. Con il punto esclamativo opzionale, Apache fa l'inverso; cioè, imposta le direttive nel contenitore se il nome-modulo non è caricato. Un esempio è il seguente:
<IfModule mod_userdir.c> UserDir disabled </IfModule>
Questo contenitore limita le direttive di controllo dell'accesso a metodi specificati. Un metodo HTTP specifica le azioni da eseguire su un URI (Uniform Resource Identifier). Esempi di metodi sono GET (l'impostazione predefinita), PUT, POST e OPTIONS. L'esempio seguente disabilita i caricamenti HTTP (PUT) da sistemi che non sono nel dominio example.com:
<Limit PUT> Order deny,allow Deny from all Allow from .example.com </Limit>
Questo contenitore è l'opposto del contenitore Limit in quanto limita le direttive di controllo dell'accesso a
tutti tranne i metodi specificati. L'esempio seguente usa il contenitore LimitExcept ma illustra anche che i contenitori possono essere nidificati. Questo esempio controlla l'accesso alle directory UserDir limitando la sola lettura di queste directory:
<Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch \ IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory>
La direttiva Options controlla le funzioni del server in base alla directory. Alcuni di questi sono descritti:
- Viste multiple :consente di visualizzare una pagina in diverse lingue, ad esempio
- Indici :Genera un elenco di directory se la direttiva DirectoryIndex non è impostata
- SymLinksIfOwnerMatch :segue i collegamenti simbolici se il file o la directory a cui punta ha lo stesso proprietario del collegamento