<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1302855:1332627 (outdated) -->
+<!-- English Revision : 1332627 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
protocoles qui nécessitent l'envoi de données par le serveur en
premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
- <example>AcceptFilter nntp none</example>
+ <highlight language="config">
+ AcceptFilter nntp none
+ </highlight>
<p>Les noms de protocoles par défaut sont <code>https</code> pour le
port 443 et <code>http</code> pour tous les autres ports. Pour
module="mpm_common">Listen</directive>.</p>
<p>Sous FreeBSD, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http httpready <br/>
- AcceptFilter https dataready
- </example>
+ <highlight language="config">
+AcceptFilter http httpready
+AcceptFilter https dataready
+ </highlight>
<p>Le filtre d'acceptation <code>httpready</code> met en tampon des
requêtes HTTP entières au niveau du noyau. Quand une requête
sektion=9">accf_data(9)</a>.</p>
<p>Sous Linux, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
la mise en tampon des requêtes http. Toute valeur autre que
tcp.7.html">tcp(7)</a>.</p>
<p>Sous Windows, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Le module MPM pour Windows mpm_winnt utilise la directive
AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
anti-spyware.</p>
</usage>
-<seealso><directive>Protocol</directive></seealso>
+<seealso><directive module="core">Protocol</directive></seealso>
</directivesynopsis>
<directivesynopsis>
sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
rejeter la requête, et vous pouvez utiliser la configuration
suivante pour utiliser un tel script :</p>
-
- <example>
- <Files "mes-chemins.shtml"><br />
- <indent>
- Options +Includes<br />
- SetOutputFilter INCLUDES<br />
- AcceptPathInfo On<br />
- </indent>
- </Files>
- </example>
+<highlight language="config">
+<Files "mypaths.shtml">
+ Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+</Files>
+ </highlight>
+
</usage>
</directivesynopsis>
href="#allowoverride">activés pour ce répertoire</a>. Par exemple
:</p>
- <example>
- AccessFileName .acl
- </example>
+ <highlight language="config">AccessFileName .acl</highlight>
<p>avant de renvoyer le document
<code>/usr/local/web/index.html</code>, le serveur va rechercher les
pour y lire d'éventuelles directives, à moins quelles n'aient été
désactivées avec</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+ </highlight>
</usage>
<seealso><directive module="core">AllowOverride</directive></seealso>
<seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
types de média Internet (types MIME).
Par exemple :</p>
- <example>
- AddDefaultCharset utf-8
- </example>
+ <highlight language="config">AddDefaultCharset utf-8</highlight>
<p>La directive <directive>AddDefaultCharset</directive> ne doit
être utilisée que lorsque toutes les ressources textes auxquelles
<p>Exemple :</p>
- <example>
- AllowOverride AuthConfig Indexes
- </example>
+ <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
<p>Dans l'exemple ci-dessus, toutes les directives qui ne font
partie ni du groupe <code>AuthConfig</code>, ni du groupe
<p>Example:</p>
- <example>
- AllowOverride None<br />
- AllowOverrideList Redirect RedirectMatch
- </example>
+ <highlight language="config">
+AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ </highlight>
<p>Dans l'exemple ci-dessus, seules les directives
<code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
<p>Example:</p>
- <example>
- AllowOverride AuthConfig<br />
- AllowOverrideList CookieTracking CookieName
- </example>
+ <highlight language="config">
+AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ </highlight>
<p>Dans l'exemple ci-dessus, la directive <directive
module="core">AllowOverride</directive> autorise les directives du
généré relativement à la valeur de la directive
<directive>ServerRoot</directive>.</p>
- <example><title>Exemple</title>
- DefaultRuntimeDir scratch/
- </example>
+ <p><strong>Example</strong></p>
+ <highlight language="config">
+DefaultRuntimeDir scratch/
+ </highlight>
<p>La valeur par défaut de la directive
<directive>DefaultRuntimeDir</directive> peut être modifiée en
être spécifiée avec la valeur <code>none</code>, c'est à dire sans
type de médium par défaut. Par exemple :</p>
- <example>
- DefaultType None
- </example>
+ <highlight language="config">DefaultType None</highlight>
+
<p><code>DefaultType None</code> n'est disponible que dans les
versions d'Apache 2.2.7 et supérieures.</p>
La portée de la variable est toujours globale, et n'est jamais
limitée à la section de configuration courante.</p>
- <example>
- <IfDefine TEST><br/>
- Define servername test.example.com<br/>
- </IfDefine><br/>
- <IfDefine !TEST><br/>
- Define servername www.example.com<br/>
- Define SSL<br/>
- </IfDefine><br/>
- </example>
+ <highlight language="config">
+<IfDefine TEST>
+ Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+ Define servername www.example.com
+ Define SSL
+</IfDefine>
+ </highlight>
<p>Le caractère ":" est interdit dans les noms de variables afin
d'éviter les conflits avec la syntaxe de la directive <directive
* <code>/home/user/public_html</code>, alors que <code><Directory
/home/*/public_html></code> conviendra. Exemple :</p>
- <example>
- <Directory /usr/local/httpd/htdocs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/usr/local/httpd/htdocs">
+ Options Indexes FollowSymLinks
+</Directory>
+ </highlight>
<note>
<p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
peuvent aussi être utilisées en ajoutant le caractère
<code>~</code>. Par exemple :</p>
- <example>
- <Directory ~ "^/www/.*/[0-9]{3}">
- </example>
+ <highlight language="config">
+<Directory ~ "^/www/.*/[0-9]{3}">
+
+</Directory>
+</highlight>
<p>pourra correspondre à tout répertoire situé dans /www/ et dont le
nom se compose de trois chiffres.</p>
directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
exemple, avec</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /home><br />
- <indent>
- AllowOverride FileInfo<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+
+<Directory "/home">
+ AllowOverride FileInfo
+</Directory>
+ </highlight>
<p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
le chemin suivant :</p>
testés selon l'ordre dans lequel ils apparaissent dans le fichier de
configuration. Par exemple, avec</p>
- <example>
- <Directory ~ abc$><br />
- <indent>
- # ... directives here ...<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory ~ "abc$">
+ # ... directives ici ...
+</Directory>
+ </highlight>
<p>la section avec expression rationnelle ne sera prise en compte
qu'après les sections <directive
correspondant à une URL. Il est recommandé de modifier cette
situation à l'aide d'un bloc du style</strong></p>
- <example>
- <Directory /><br />
- <indent>
- Require all denied<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ Require all denied
+</Directory>
+ </highlight>
<p><strong>puis d'affiner la configuration pour les répertoires que vous
voulez rendre accessibles. Voir la page <a
répertoire est précisé sous la forme d'une <glossary
ref="regex">expression rationnelle</glossary>. Par exemple :</p>
- <example>
- <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
- </example>
+ <highlight language="config">
+<DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ # ...
+</DirectoryMatch>
+</highlight>
<p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
de l'URL sera ajouté par le serveur à la racine des documents afin
de construire le chemin du document recherché. Exemple :</p>
- <example>
- DocumentRoot /usr/web
- </example>
+ <highlight language="config">DocumentRoot "/usr/web"</highlight>
<p>un accès à <code>http://my.example.com/index.html</code> se
réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
supérieure et dans la même portée n'ont pas été satisfaites. Par
exemple, dans :</p>
- <example>
- <If "-z req('Host')"><br/>
- ...<br/>
- </If><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-z req('Host')">
+ # ...
+</If>
+<Else>
+ # ...
+</Else>
+ </highlight>
<p>La condition de la section <directive
type="section">If</directive> serait satisfaite pour les requêtes
ou <directive type="section">ElseIf</directive> de la même portée ne
l'est pas. Par exemple, dans :</p>
- <example>
- <If "-R '10.1.0.0/16'"><br/>
- ...<br/>
- </If><br/>
- <ElseIf "-R '10.0.0.0/8'"><br/>
- ...<br/>
- </ElseIf><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-R '10.1.0.0/16'">
+ #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+ #...
+</ElseIf>
+<Else>
+ #...
+</Else>
+ </highlight>
<p>La condition correspondant à la section <directive
type="section">ElseIf</directive> est satisfaite si l'adresse
problème, il est préférable de désactiver la projection en mémoire
des fichiers servis en spécifiant :</p>
- <example>
- EnableMMAP Off
- </example>
+ <highlight language="config">EnableMMAP Off</highlight>
<p>Pour les montages NFS, cette fonctionnalité peut être
explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
- <example>
- <Directory "/chemin vers montage NFS">
- <indent>
- EnableMMAP Off
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/path-to-nfs-files">
+ EnableMMAP Off
+</Directory>
+ </highlight>
</usage>
</directivesynopsis>
problème, vous pouvez activer cette fonctionnalité en
spécifiant :</p>
- <example>
- EnableSendfile On
- </example>
+ <highlight language="config">EnableSendfile On</highlight>
<p>Pour les montages réseau, cette fonctionnalité peut être
explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
- <example>
- <Directory "/chemin vers montage réseau">
- <indent>
- EnableSendfile Off
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/path-to-nfs-files">
+ EnableSendfile Off
+</Directory>
+ </highlight>
<p>Veuillez noter que la configuration de la directive
<directive>EnableSendfile</directive> dans un contexte de répertoire
ou de fichier .htaccess n'est pas supportée par
directive peut être utilisée pour générer un message d'erreur
personnalisé, et interrompre la lecture de la configuration. </p>
- <example><title>Exemple</title>
- # vérification du chargement de mod_include<br />
- <IfModule !include_module><br />
- Error mod_foo nécessite mod_include. Chargez-le via LoadModule.<br />
- </IfModule><br />
- <br />
- # vérification de la définition de SSL ou (exclusif) NOSSL<br />
- <IfDefine SSL><br />
- <IfDefine NOSSL><br />
- Error SSL et NOSSL sont définies. Vous devez définir soit l'une,
- soit l'autre.<br />
- </IfDefine><br />
- </IfDefine><br />
- <IfDefine !SSL><br />
- <IfDefine !NOSSL><br />
- Error Vous devez définir une et une seule des deux variables SSL
- ou NOSSL.<br />
- </IfDefine><br />
- </IfDefine><br />
- </example>
+ <highlight language="config">
+# Exemple
+# vérification du chargement de mod_include
+<IfModule !include_module>
+ Error "mod_include is required by mod_foo. Load it with LoadModule."
+</IfModule>
+
+# vérification de la définition de SSL ou (exclusif) NOSSL
+<IfDefine SSL>
+<IfDefine NOSSL>
+ Error "Both SSL and NOSSL are defined. Define only one of them."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+ Error "Either SSL or NOSSL must be defined."
+</IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
Alternativement, un message à afficher par le navigateur pourra être
fourni. Exemples :</p>
- <example>
- ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
- ErrorDocument 401 /subscription_info.html<br />
- ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
- aujourd'hui"<br />
- ErrorDocument 403 Interdit!
- </example>
+ <highlight language="config">
+ErrorDocument 500 http://foo.example.com/cgi-bin/tester
+ErrorDocument 404 /cgi-bin/bad_urls.pl
+ErrorDocument 401 /subscription_info.html
+ErrorDocument 403 "Sorry can't allow you access today"
+ErrorDocument 403 Forbidden!
+ </highlight>
<p>De plus, on peut spécifier la valeur spéciale <code>default</code>
pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
les configurations qui sans cela, hériteraient d'une directive
<directive>ErrorDocument</directive> existante.</p>
- <example>
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
- <Directory /web/docs><br />
- <indent>
- ErrorDocument 404 default<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory /web/docs>
+ ErrorDocument 404 default
+</Directory>
+ </highlight>
<p>Notez que lorsque vous spécifiez une directive
<directive>ErrorDocument</directive> pointant vers une URL distante
absolu, il est considéré comme relatif au chemin défini par la
directive <directive module="core">ServerRoot</directive>.</p>
- <example><title>Exemple</title>
- ErrorLog /var/log/httpd/error_log
- </example>
+ <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
<p>Si le <var>chemin fichier</var> commence par une barre verticale
"<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
journalisation de l'erreur.</p>
- <example><title>Exemple</title>
- ErrorLog "|/usr/local/bin/erreurs_httpd"
- </example>
+ <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
<p>Voir les notes à propos des <a href="../logs.html#piped">journaux
redirigés</a> pour plus d'informations.</p>
global, et si il est modifié dans un serveur virtuel, le dispositif
final spécifié affecte l'ensemble du serveur</p>
- <example><title>Exemple</title>
- ErrorLog syslog:user
- </example>
+ <highlight language="config">ErrorLog syslog:user</highlight>
<p>SECURITE : Voir le document <a
href="../misc/security_tips.html#serverroot">conseils à propos de
spécifier quelles informations supplémentaires vont être enregistrées
dans le journal des erreurs en plus du message habituel.</p>
- <example><title>Exemple simple</title>
- ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
- </example>
+ <highlight language="config">
+# Exemple simple
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ </highlight>
<p>La spécification de <code>connection</code> ou
<code>request</code> comme premier paramètre permet de définir des
c'est son identifiant unique qui sera utilisé comme identifiant de
journal pour les requêtes.</p>
- <example><title>Exemple (format par défaut)</title>
- ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+# Exemple (format par défaut)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
<p>Cet exemple renverrait un message d'erreur du style :</p>
<p>Notez que, comme indiqué plus haut, certains champs sont
totalement supprimés s'ils n'ont pas été définis.</p>
- <example><title>Exemple (similaire au format 2.2.x)</title>
- ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+# Exemple (similaire au format 2.2.x)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
- <example><title>Exemple avancé avec identifiants journal de
- requête/connexion</title>
- ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br/>
- ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br/>
- </example>
+ <highlight language="config">
+# Exemple avancé avec identifiants journal de requête/connexion
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+ </highlight>
</usage>
<seealso><directive module="core">ErrorLog</directive></seealso>
<dd>La taille du fichier en octets sera incluse</dd>
<dt><strong>All</strong></dt>
<dd>Tous les champs disponibles seront utilisés. Cette définition
- est équivalente à : <example>FileETag INode MTime
- Size</example></dd>
+ est équivalente à :
+ <highlight language="config">FileETag INode MTime Size</highlight></dd>
<dt><strong>None</strong></dt>
<dd>Si le document se compose d'un fichier, aucun champ
<code>ETag</code> ne sera inclus dans la réponse</dd>
ref="regex">Expressions rationnelles</glossary> en ajoutant la
caractère <code>~</code>. Par exemple :</p>
- <example>
- <Files ~ "\.(gif|jpe?g|png)$">
- </example>
+ <highlight language="config">
+<Files ~ "\.(gif|jpe?g|png)$">
+ #...
+</Files>
+</highlight>
<p>correspondrait à la plupart des formats graphiques de l'Internet.
Il est cependant préférable d'utiliser la directive <directive
<glossary ref="regex">expressions rationnelles</glossary>. Par
exemple :</p>
- <example>
- <FilesMatch "\.(gif|jpe?g|png)$">
- </example>
+ <highlight language="config">
+<FilesMatch "\.(gif|jpe?g|png)$">
+ # ...
+</FilesMatch>
+</highlight>
<p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
:</p>
- <example>
- ForceType image/gif
- </example>
+ <highlight language="config">ForceType image/gif</highlight>
<p>Notez que cette directive l'emporte sur d'autres associations de
type de médium indirectes définies dans mime.types ou via la
<directive>ForceType</directive> en affectant la valeur
<code>None</code> à l'argument <var>type médium</var> :</p>
- <example>
- # force le type MIME de tous les fichiers à image/gif:<br />
- <Location /images><br />
- <indent>
- ForceType image/gif<br />
- </indent>
- </Location><br />
- <br />
- # mais utilise les méthodes classiques d'attribution du type MIME
- # dans le sous-répertoire suivant :<br />
- <Location /images/mixed><br />
- <indent>
- ForceType None<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+# force le type MIME de tous les fichiers à image/gif:
+<Location /images>
+ ForceType image/gif
+</Location>
+
+# mais utilise les méthodes classiques d'attribution du type MIME
+# dans le sous-répertoire suivant :
+<Location /images/mixed>
+ ForceType None
+</Location>
+ </highlight>
<p>A la base, cette directive écrase le type de contenu généré pour
les fichiers statiques servis à partir du sytème de fichiers. Pour
si et seulement si l'expression renvoie la valeur "vrai". Par
exemple :</p>
- <example>
- <If "-z req('Host')">
- </example>
+ <highlight language="config"><If "-z req('Host')"></highlight>
<p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
<var>Host:</var>. Les expressions peuvent contenir différents
à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
...). Les expressions rationnelles sont aussi supportées,</p>
- <example>
- <If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
- </example>
+ <highlight language="config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></highlight>
<p>ainsi que les comparaison de modèles de type shell et de
nombreuses autres opérations. Ces opérations peuvent être effectuées
peuvent être imbriquées, ce qui permet d'implémenter un test
multi-paramètres simple. Exemple :</p>
- <example>
- httpd -DReverseProxy -DUseCache -DMemCache ...<br />
- <br />
- # httpd.conf<br />
- <IfDefine ReverseProxy><br />
- <indent>
- LoadModule proxy_module modules/mod_proxy.so<br />
- LoadModule proxy_http_module modules/mod_proxy_http.so<br />
- <IfDefine UseCache><br />
- <indent>
- LoadModule cache_module modules/mod_cache.so<br />
- <IfDefine MemCache><br />
- <indent>
- LoadModule mem_cache_module modules/mod_mem_cache.so<br />
- </indent>
- </IfDefine><br />
- <IfDefine !MemCache><br />
- <indent>
- LoadModule cache_disk_module modules/mod_cache_disk.so<br />
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </example>
+ <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
+ <highlight language="config">
+<IfDefine ReverseProxy>
+ LoadModule proxy_module modules/mod_proxy.so
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+ <IfDefine UseCache>
+ LoadModule cache_module modules/mod_cache.so
+ <IfDefine MemCache>
+ LoadModule mem_cache_module modules/mod_mem_cache.so
+ </IfDefine>
+ <IfDefine !MemCache>
+ LoadModule cache_disk_module modules/mod_cache_disk.so
+ </IfDefine>
+ </IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
<p>Exemples :</p>
- <example>
- Include /usr/local/apache2/conf/ssl.conf<br />
- Include /usr/local/apache2/conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ </highlight>
<p>ou encore, avec des chemins relatifs au répertoire défini par la
directive <directive module="core">ServerRoot</directive> :</p>
- <example>
- Include conf/ssl.conf<br />
- Include conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ </highlight>
<p>On peut aussi insérer des caractères génériques dans la partie
répertoires du chemin. Dans l'exemple suivant, la directive
échouera si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
- <example>
- Include conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
<p>Par contre, dans l'exemple suivant, la directive sera simplement
ignorée si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
- <example>
- IncludeOptional conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
</usage>
<code>DELETE</code>, en laissant les autres méthodes sans protection
:</p>
- <example>
- <Limit POST PUT DELETE><br />
- <indent>
- Require valid-user<br />
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<Limit POST PUT DELETE>
+ Require valid-user
+</Limit>
+ </highlight>
<p>La liste des noms de méthodes peut contenir une ou plusieurs
valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
<code>POST</code>, et la directive <code>Require group
editors</code> sera ignorée dans tous les cas :</p>
- <example>
- <LimitExcept GET>
- <indent>
- Require valid-user
- </indent>
- </LimitExcept><br />
- <Limit POST>
- <indent>
- Require group editors
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<LimitExcept GET>
+ Require valid-user
+</LimitExcept>
+<Limit POST>
+ Require group editors
+</Limit>
+ </highlight>
</usage>
</directivesynopsis>
<p>Par exemple :</p>
- <example>
- <LimitExcept POST GET><br />
- <indent>
- Require valid-user<br />
- </indent>
- </LimitExcept>
- </example>
+ <highlight language="config">
+<LimitExcept POST GET>
+ Require valid-user
+</LimitExcept>
+ </highlight>
</usage>
</directivesynopsis>
maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
<var>nombre</var>, il sera affecté aux deux limites.</p>
- <example><title>Exemple</title>
- LimitInternalRecursion 5
- </example>
+ <highlight language="config">LimitInternalRecursion 5</highlight>
</usage>
</directivesynopsis>
fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
:</p>
- <example>
- LimitRequestBody 102400
- </example>
+ <highlight language="config">LimitRequestBody 102400</highlight>
<note><p>Pour une description détaillée de la manière dont cette
directive est interprétée par les requêtes mandatées, voir la
<p>Par exemple :</p>
- <example>
- LimitRequestFields 50
- </example>
+ <highlight language="config">LimitRequestFields 50</highlight>
<note type="warning"><title>Avertissement</title>
<p>Dans le cas des serveurs virtuels à base de noms, la valeur de
<p>Par exemple ::</p>
- <example>
- LimitRequestFieldSize 4094
- </example>
+ <highlight language="config">LimitRequestFieldSize 4094</highlight>
<note>Dans des conditions normales, la valeur par défaut de cette
directive ne doit pas être modifiée. En outre, vous ne
<p>Par exemple :</p>
- <example>
- LimitRequestLine 4094
- </example>
+ <highlight language="config">LimitRequestLine 4094</highlight>
<note>Dans des conditions normales, la valeur par défaut de cette
directive ne doit pas être modifiée. En outre, vous ne
<p>Exemple :</p>
- <example>
- LimitXMLRequestBody 0
- </example>
+ <highlight language="config">LimitXMLRequestBody 0</highlight>
</usage>
</directivesynopsis>
directives contenues dans la section s'appliqueront à /private1,
/private1/ et /private1/file.txt, mais pas à /private1other.
</p>
- <example>
- <Location /private1>
- ...
- </example>
+ <highlight language="config">
+<Location /private1>
+ # ...
+</Location>
+ </highlight>
<p>
De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
directives contenues dans la section s'appliqueront à /private2/ et
à /private2/file.txt, mais pas à /private2other.
</p>
- <example>
- <Location /private2<em>/</em>>
- ...
- </example>
+ <highlight language="config">
+<Location /private2<em>/</em>>
+ # ...
+</Location>
+ </highlight>
<note><title>Quand utiliser la section <directive
type="section">Location</directive></title>
rationnelles</glossary>, moyennant l'addition d'un caractère
<code>~</code>. Par exemple :</p>
- <example>
- <Location ~ "/(extra|special)/data">
- </example>
+ <highlight language="config">
+<Location ~ "/(extra|special)/data">
+ #...
+</Location>
+</highlight>
<p>concernerait les URLs contenant les sous-chaîne
<code>/extra/data</code> ou <code>/special/data</code>. La directive
appartenant au domaine <code>example.com</code>, vous pouvez
utiliser :</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- Require host example.com<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location /status>
+ SetHandler server-status
+ Require host example.com
+</Location>
+ </highlight>
<note><title>Note à propos du slash (/)</title>
<p>La signification du caractère slash dépend de l'endroit où il
ref="regex">expression rationnelle</glossary> au lieu d'une simple
chaîne de caractères. Par exemple :</p>
- <example>
- <LocationMatch "/(extra|special)/data">
- </example>
+ <highlight language="config">
+<LocationMatch "/(extra|special)/data">
+ # ...
+</LocationMatch>
+</highlight>
<p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
<p>Par exemple :</p>
- <example>
- LogLevel notice
- </example>
+ <highlight language="config">LogLevel notice</highlight>
<note><title>Note</title>
<p>Si la journalisation s'effectue directement dans un fichier,
identificateur, avec ou sans le suffixe <code>_module</code>. Les
trois spécifications suivantes sont donc équivalentes :</p>
- <example>
- LogLevel info ssl:warn<br />
- LogLevel info mod_ssl.c:warn<br />
- LogLevel info ssl_module:warn<br />
- </example>
+ <highlight language="config">
+LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ </highlight>
<p>Il est aussi possible d'attribuer un niveau de journalisation par
répertoire :</p>
- <example>
- LogLevel info<br />
- <Directory /usr/local/apache/htdocs/app><br />
- LogLevel debug<br />
- </Files>
- </example>
+ <highlight language="config">
+LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+ LogLevel debug
+</Directory>
+ </highlight>
<note>
La configuration du niveau de journalisation par répertoire
<p>Par exemple :</p>
- <example>
- MaxKeepAliveRequests 500
- </example>
+ <highlight language="config">MaxKeepAliveRequests 500</highlight>
</usage>
</directivesynopsis>
mutex par défaut pour tous les autres mutex deviendra
<code>sysvsem</code>.</p>
- <example>
- Mutex sysvsem default<br />
- Mutex fcntl:/var/httpd/locks mpm-accept
- </example>
+ <highlight language="config">
+Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ </highlight>
</usage>
</directivesynopsis>
<p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
:</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options Includes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options Includes
+</Directory>
+ </highlight>
<p>ici, seule l'option <code>Includes</code> sera prise en compte
pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
seconde directive <directive>Options</directive> utilise les
symboles <code>+</code> et <code>-</code> :</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options +Includes -Indexes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options +Includes -Indexes
+</Directory>
+ </highlight>
<p>alors, les options <code>FollowSymLinks</code> et
<code>Includes</code> seront prises en compte pour le répertoire
<code>https</code> sur un port non standard, spécifiez le protocole
de manière explicite :</p>
- <example>
- Protocol https
- </example>
+ <highlight language="config">Protocol https</highlight>
<p>Vous pouvez aussi spécifier le protocole via la directive
<directive module="mpm_common">Listen</directive>.</p>
</usage>
-<seealso><directive>AcceptFilter</directive></seealso>
+<seealso><directive module="core">AcceptFilter</directive></seealso>
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
<code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
souvent à ceci :</p>
- <example>
- #!C:/Perl/bin/perl.exe
- </example>
+ <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
<p>ou simplement, dans le cas où <code>perl</code> est dans le
<code>PATH</code> :</p>
- <example>
- #!perl
- </example>
+ <highlight language="perl">#!perl</highlight>
<p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
effectuer une recherche dans l'arborescence
<p>Il peut s'avérer utile de définir une adresse dédiée à
l'administration du serveur, par exemple :</p>
- <example>
- ServerAdmin www-admin@foo.example.com
- </example>
+ <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
<p>car les utilisateurs ne mentionnent pas systématiquement le
serveur dont ils parlent !</p>
</usage>
nom</a>. La directive <directive>ServerAlias</directive> peut
contenir des caractères génériques, si nécessaire.</p>
- <example>
- <VirtualHost *:80><br />
- ServerName serveur.example.com<br />
- ServerAlias serveur serveur2.example.com serveur2<br />
- ServerAlias *.example.com<br />
- UseCanonicalName Off<br />
- # ...<br />
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost *:80>
+ ServerName server.example.com
+ ServerAlias server server2.example.com server2
+ ServerAlias *.example.com
+ UseCanonicalName Off
+ # ...
+</VirtualHost>
+ </highlight>
<p>La recherche du serveur virtuel à base de nom correspondant au
plus près à la requête s'effectue selon l'ordre d'apparition des
directives <directive type="section"
web s'identifie avec cet alias, vous devez utilisez la définition
suivante :</p>
- <example>
- ServerName www.example.com
- </example>
+ <highlight language="config">ServerName www.example.com</highlight>
<p>La directive <directive>ServerName</directive> peut apparaître à
toutes les étapes de la définition du serveur. Toute occurrence
module="mod_so">LoadModule</directive>) seront définis par
rapport à ce répertoire.</p>
- <example><title>Example</title>
- ServerRoot /home/httpd
- </example>
+ <highlight language="config">ServerRoot "/home/httpd"</highlight>
<p>La valeur par défaut de <directive>ServerRoot</directive> peut
être modifiée via l'argument <code>--prefix</code> de la commande <a
<dl>
<dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
- <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.1
+ <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
(Unix) PHP/4.2.2 MyMod/1.2</code></dd>
-
-
-
- <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
Apache</code></dd>
<dt><code>ServerTokens Min[imal]</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
- Apache/2.4.1</code></dd>
+ Apache/2.4.2</code></dd>
<dt><code>ServerTokens OS</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
- Apache/2.4.1 (Unix)</code></dd>
+ Apache/2.4.2 (Unix)</code></dd>
extensions, vous pouvez ajouter la ligne suivante dans un fichier
<code>.htaccess</code> de ce répertoire :</p>
- <example>
- SetHandler imap-file
- </example>
+ <highlight language="config">SetHandler imap-file</highlight>
<p>Autre exemple : si vous voulez que le serveur affiche un
compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
serveur/status</code> est appelée, vous pouvez ajouter ceci dans
<code>httpd.conf</code> :</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location "/status">
+ SetHandler server-status
+</Location>
+ </highlight>
<p>Vous pouvez écraser la définition antérieure d'une directive
<directive>SetHandler</directive> en utilisant la valeur
fichiers du répertoire <code>/www/data/</code> comme des inclusions
côté serveur (SSI) :</p>
- <example>
- <Directory /www/data/><br />
- <indent>
- SetOutputFilter INCLUDES<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/www/data/">
+ SetOutputFilter INCLUDES
+</Directory>
+ </highlight>
<p>Si la directive comporte plusieurs filtres, ils doivent être
séparés par des points-virgules, et spécifiés selon l'ordre dans
l'authentification, ceci va obliger l'utilisateur à s'authentifier
deux fois (une première fois pour <code>www</code> et une seconde
fois pour <code>www.example.com</code> -- voir <a
- href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
- foire aux questions sur ce sujet pour plus d'informations</a>). Par
- contre, si <directive>UseCanonicalName</directive> est définie à
+ href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
+ foire aux questions sur ce sujet pour plus d'informations</a>).
+ Par contre, si <directive>UseCanonicalName</directive> est définie à
<code>Off</code>, Apache httpd redirigera l'utilisateur vers
<code>http://www/splat/</code>.</p>
</ul>
- <example><title>Exemple</title>
- <VirtualHost 10.1.2.3:80><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost 10.1.2.3:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>Les adresses IPv6 doivent être entourées de crochets car dans le
déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
:</p>
- <example>
- <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>Chaque serveur virtuel doit correspondre à une adresse IP, un
port ou un nom d'hôte spécifique ; dans le premier cas, le serveur