<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1352912:1357168 (outdated) -->
+<!-- English Revision: 1697339:1701005 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<syntax>AcceptFilter <var>protocole</var> <var>filtre
d'acceptation</var></syntax>
<contextlist><context>server config</context></contextlist>
-<compatibility>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
-sur les autres plates-formes.</compatibility>
<usage>
<p>Cette directive permet d'effectuer une optimisation de la socket
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Disponible dans Apache httpd version 2.0.30 et
-supérieures</compatibility>
<usage>
désactivées avec</p>
<highlight language="config">
-<Directory />
+<Directory "/">
AllowOverride None
</Directory>
</highlight>
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
-<compatibility>Disponible dans Apache httpd version 2.0.46 et
-supérieures. L'option NoDecode est disponible depuis la version
+<compatibility>L'option NoDecode est disponible depuis la version
2.3.12.</compatibility>
<usage>
module="mod_usertrack">CookieStyle</directive>, <directive
module="mod_usertrack">CookieTracking</directive>, <directive
module="mod_usertrack">CookieName</directive>), des directives du
- module <module>mod_rewrite</module> <directive
+ module <module>mod_rewrite</module> directives (<directive
module="mod_rewrite">RewriteEngine</directive>, <directive
module="mod_rewrite">RewriteOptions</directive>, <directive
module="mod_rewrite">RewriteBase</directive>, <directive
module="mod_rewrite">RewriteCond</directive>, <directive
- module="mod_rewrite">RewriteRule</directive>) et de la directive
+ module="mod_rewrite">RewriteRule</directive>), des directives du
+ module <module>mod_alias</module> directives (<directive
+ module="mod_alias">Redirect</directive>, <directive
+ module="mod_alias">RedirectTemp</directive>, <directive
+ module="mod_alias">RedirectPermanent</directive>, <directive
+ module="mod_alias">RedirectMatch</directive>), et de la directive
<directive module="mod_actions">Action</directive> du module
<module>mod_actions</module>.
</dd>
module="mod_autoindex">AddIconByEncoding</directive>,
<directive module="mod_autoindex">AddIconByType</directive>,
<directive module="mod_autoindex">DefaultIcon</directive>, <directive
- module="mod_dir">DirectoryIndex</directive>, <a
+ module="mod_dir">DirectoryIndex</directive>, <directive
+ module="mod_dir">FallbackResource</directive>, <a
href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
<directive
module="mod_autoindex">HeaderName</directive>, <directive
module="mod_access_compat">Deny</directive> et <directive
module="mod_access_compat">Order</directive>).</dd>
+<!-- TODO - Update this for 2.4 syntax -->
+
+
+
+
<dt>Nonfatal=[Override|Unknown|All]</dt>
<dd>
<em>activée</em> tout en permettant à toute autre option d'être
activée.
</p></note>
+
+ <example>
+ AllowOverride Options=Indexes,MultiViews
+ </example>
</dd>
</dl>
<note><p>Pour des raisons de sécurité et de performance, ne
définissez pas <code>AllowOverride</code> à autre chose que
- <code>None</code> dans votre bloc <code><Directory /></code>.
+ <code>None</code> dans votre bloc <code><Directory "/"></code>.
Recherchez plutôt (ou créez) le bloc <code><Directory></code>
qui se réfère au répertoire où vous allez précisément placer un
fichier <code>.htaccess</code>.</p>
</usage>
</directivesynopsis>
+<directivesynopsis>
+<name>CGIPassAuth</name>
+<description>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
+tant que variables CGI</description>
+<syntax>CGIPassAuth On|Off</syntax>
+<default>CGIPassAuth Off</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+<compatibility>Disponible à partir de la version 2.4.13 du serveur HTTP
+Apache</compatibility>
+
+<usage>
+ <p>La directive <directive>CGIPassAuth</directive> permet aux
+ scripts d'accéder aux en-têtes d'autorisation HTTP tels que
+ <code>Authorization</code>, en-tête nécessaire aux scripts qui
+ implémente une authentification HTTP de base. Normalement, ces
+ en-têtes HTTP sont invisibles pour les scripts car ils leurs
+ permettraient de voir les identifiants et mots de passe
+ utilisés pour accéder au serveur lorsque l'authentification HTTP de
+ base est activée au niveau du serveur web. Cette directive doit être
+ définie à "On" lorsque des scripts sont autorisés à implémenter une
+ authentification HTTP de base.</p>
+
+ <p>Cette directive constitue une alternative à l'option de
+ compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était
+ déjà disponible dans les versions précédentes du serveur HTTP
+ Apache.</p>
+
+ <p>Cette option est prise en compte par tout module qui utilise
+ <code>ap_add_common_vars()</code>, comme <module>mod_cgi</module>,
+ <module>mod_cgid</module>, <module>mod_proxy_fcgi</module>,
+ <module>mod_proxy_scgi</module>, etc... En particulier, elle affecte
+ les modules qui ne traitent pas à proprement parler les requêtes,
+ mais utilisent quand-même cette API, comme
+ <module>mod_include</module> ou <module>mod_ext_filter</module>. Les
+ modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
+ peuvent aussi choisir de prendre en compte cette option.</p>
+</usage>
+</directivesynopsis>
+
<directivesynopsis>
<name>ContentDigest</name>
<description>Active la génération d'un en-tête <code>Content-MD5</code>
<syntax>DefaultRuntimeDir <var>chemin-répertoire</var></syntax>
<default>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</default>
<contextlist><context>server config</context></contextlist>
+<compatibility>Disponible depuis de la version 2.4.2 du serveur HTTP
+Apache</compatibility>
<usage>
<p>La directive <directive>DefaultRuntimeDir</directive> permet de
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>L'argument <code>none</code> est disponible dans les
-versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont
-DESACTIVÉS à partir des version 2.3.x.</compatibility>
+<compatibility>Tous les arguments, excepté <code>none</code>, sont
+DESACTIVÉS à partir de la version 2.3.0.</compatibility>
<usage>
<p>Cette directive a été désactivée. Pour la compatibilité
Define servername www.example.com
Define SSL
</IfDefine>
+
+ DocumentRoot "/var/www/${servername}/htdocs"
</highlight>
<p>Le caractère ":" est interdit dans les noms de variables afin
d'éviter les conflits avec la syntaxe de la directive <directive
module="mod_rewrite">RewriteMap</directive>.</p>
+
+ <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
+ changements qu'elle induit sont visibles de toute directive
+ ultérieure, au delà de tout bloc VirtualHost.</p>
</usage>
</directivesynopsis>
caractères. Les intervalles de caractères <code>[]</code> sont aussi
autorisés. Aucun caractère générique ne peut remplacer le caractère
`/', si bien que l'expression <code><Directory
- /*/public_html></code> ne conviendra pas pour le chemin
+ "/*/public_html"></code> ne conviendra pas pour le chemin
* <code>/home/user/public_html</code>, alors que <code><Directory
- /home/*/public_html></code> conviendra. Exemple :</p>
+ "/home/*/public_html"></code> conviendra. Exemple :</p>
<highlight language="config">
<Directory "/usr/local/httpd/htdocs">
</Directory>
</highlight>
+ <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être
+ entourés de guillemets afin d'empêcher l'interprétation de ces
+ espaces comme fins d'arguments.</p>
+
<note>
<p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
doit correspondre exactement au chemin du système de fichier
<code>~</code>. Par exemple :</p>
<highlight language="config">
-<Directory ~ "^/www/.*/[0-9]{3}">
+<Directory ~ "^/www/[0-9]{3}">
</Directory>
</highlight>
exemple, avec</p>
<highlight language="config">
-<Directory />
+<Directory "/">
AllowOverride None
</Directory>
correspondante s'appliquera.</p>
<p><strong>Notez que la politique d'accès par défaut
- dans les sections <code><Directory /></code> consiste à
+ dans les sections <code><Directory "/"></code> consiste à
autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
correspondant à une URL. Il est recommandé de modifier cette
situation à l'aide d'un bloc du style</strong></p>
<highlight language="config">
-<Directory />
+<Directory "/">
Require all denied
</Directory>
</highlight>
ref="regex">expression rationnelle</glossary>. Par exemple :</p>
<highlight language="config">
-<DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</DirectoryMatch>
</highlight>
- <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
+ <p>convient pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
<note><title>Compatibilité</title>
de ligne ($) doivent donc faire l'objet d'une attention
particulière.
</note>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+</highlight>
</usage>
<seealso><directive type="section" module="core">Directory</directive>
pour une description de la manière dont les expressions rationnelles
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Disponible dans les versions 2.0.44 et
-supérieures. Par défaut à Off depuis la version 2.3.9.</compatibility>
+<compatibility>Par défaut à Off depuis la version 2.3.9.</compatibility>
<usage>
<p>Cette directive définit si le programme <program>httpd</program>
<li>afficher un message personnalisé</li>
- <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
+ <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
le problème ou l'erreur</li>
<li>rediriger vers une <var>URL</var> externe pour traiter
httpd fournit parfois des informations supplémentaires à propos du
problème ou de l'erreur.</p>
+ <p>A partir de la version 2.4.13, cette directive peut utiliser la
+ <a href="../expr.html">syntaxe des expressions</a> pour générer des
+ chaînes de caractères et des URLs dynamiques.</p>
+
<p>Les URLs peuvent commencer par un slash (/) pour les chemins web
locaux (relatifs au répertoire défini par la directive <directive
module="core">DocumentRoot</directive>), ou se présenter sous la
forme d'une URL complète que le client pourra résoudre.
Alternativement, un message à afficher par le navigateur pourra être
- fourni. Exemples :</p>
+ fourni. Notez que la décision à propos de la nature du paramètre, à
+ savoir une URL, un chemin ou un message, est prise avant
+ l'interprétation de toute expression. Exemples :</p>
<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 "Désolé, nous ne pouvons pas vous accorder l'accès aujourd'hui"
ErrorDocument 403 Forbidden!
+ErrorDocument 403 /cgi-bin/forbidden.pl?referrer=%{escape:%{HTTP_REFERER}}
</highlight>
<p>De plus, on peut spécifier la valeur spéciale <code>default</code>
<highlight language="config">
ErrorDocument 404 /cgi-bin/bad_urls.pl
-<Directory /web/docs>
+<Directory "/web/docs">
ErrorDocument 404 default
</Directory>
</highlight>
<p>L'utilisation de <code>syslog</code> à la place d'un nom de
fichier active la journalisation via syslogd(8) si le système le
- supporte. Le dispositif syslog par défaut est <code>local7</code>,
+ supporte et si <module>mod_syslog</module> a été chargé. Le
+ dispositif syslog par défaut est <code>local7</code>,
mais vous pouvez le modifier à l'aide de la syntaxe
<code>syslog:<var>facility</var></code>, où <var>facility</var> peut
être remplacé par un des noms habituellement documentés dans la page
<highlight language="config">ErrorLog syslog:user</highlight>
+ <p>Des modules additionnels peuvent implémenter leur propre
+ fournisseur ErrorLog. La syntaxe est similaire à l'exemple
+ <code>syslog</code> ci-dessus.</p>
+
<p>SECURITE : Voir le document <a
href="../misc/security_tips.html#serverroot">conseils à propos de
sécurité</a> pour des détails sur les raisons pour lesquelles votre
<syntax> ErrorLogFormat [connection|request] <var>format</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
-<compatibility>Disponible depuis la version 2.3.9 d'Apache</compatibility>
<usage>
<p>La directive <directive>ErrorLogFormat</directive> permet de
journal pour les requêtes.</p>
<highlight language="config">
-# Exemple (format par défaut)
+# Exemple (format par défaut pour les MPMs threadés)
ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
</highlight>
<p>L'argument <var>filename</var> peut contenir un nom de fichier
ou une chaîne de caractères avec caractères génériques, où
<code>?</code> remplace un caractère, et <code>*</code> toute chaîne
- de caractères. On peut aussi utiliser les <glossary
+ de caractères.</p>
+ <highlight language="config">
+<Files "cat.html">
+ # Insérer ici des directives qui s'appliquent au fichier cat.html
+</Files>
+
+<Files "?at.*">
+ # Les directives insérées ici s'appliqueront aux fichiers
+ # cat.html, bat.html, hat.php, et ainsi de suite.
+</Files>
+</highlight>
+
+ <p>On peut aussi utiliser les <glossary
ref="regex">Expressions rationnelles</glossary> en ajoutant la
caractère <code>~</code>. Par exemple :</p>
exemple :</p>
<highlight language="config">
-<FilesMatch "\.(gif|jpe?g|png)$">
+<FilesMatch ".+\.(gif|jpe?g|png)$">
# ...
</FilesMatch>
</highlight>
<p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
+
+ <note>Les caractères <code>.+</code> au début de l'expression
+ rationnelle permettent de s'assurer que les fichiers de nom
+ <code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas
+ pris en compte.</note>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<FilesMatch "^(?<sitename>[^/]+)">
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</FilesMatch>
+</highlight>
</usage>
<seealso><a href="../sections.html">Comment fonctionnent les sections
<contextlist><context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Intégré dans le coeur d'Apache httpd depuis la version
-2.0</compatibility>
<usage>
<p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
<highlight language="config">
# force le type MIME de tous les fichiers à image/gif:
-<Location /images>
+<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>
+<Location "/images/mixed">
ForceType None
</Location>
</highlight>
générateur de réponse spécifie en général un type de contenu, cette
directive est ignorée.</p>
+ <note><title>Note</title>
+ <p>Si aucun gestionnaire n'est explicitement défini pour une
+ requête, le type de contenu spécifié sera aussi utilisé comme nom de
+ gestionnaire.</p>
+
+ <p>Lorsque des directives explicites comme <directive
+ module="core">SetHandler</directive> ou
+ <directive>module="mod_mime">AddHandler</directive> ne s'appliquent
+ pas à la requête courante, le nom du gestionnaire interne
+ normalement défini par ces directives correspondra alors au type de
+ contenu spécifié par cette directive.
+ </p>
+ <p>Il s'agit d'un comportement historique que certains modules
+ tiers, comme mod_php, peuvent interpréter comme un type de contenu
+ artificiel ne servant qu'à indiquer le module qui doit prendre en
+ compte la requête considérée.
+ </p>
+
+ <p>Dans la mesure du possible, il est conseillé d'éviter les
+ configurations qui comportent de tels types artificiels. En outre,
+ les configurations qui restreignent l'accès aux directives
+ <directive module="core" >SetHandler</directive> ou <directive
+ module="mod_mime">AddHandler</directive> doivent aussi restreindre
+ l'accès à cette directive.</p>
+ </note>
+
</usage>
</directivesynopsis>
+
<directivesynopsis>
<name>GprofDir</name>
<description>Répertoire dans lequel écrire les données de profiling
<p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
<var>Host:</var>. Les expressions peuvent contenir différents
opérateurs de type shell pour la comparaison de chaînes
- (<code>=</code>, <code>!=</code>, <code><</code>, ...), la
+ (<code>==</code>, <code>!=</code>, <code><</code>, ...), la
comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
...). Les expressions rationnelles sont aussi supportées,</p>
propriétés. La documentation complète est disponible dans <a
href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
+ <p>Cette section de configuration ne peut contenir que des
+ directives qui supportent le <a
+ href="directive-dict.html#Context">contexte de répertoire</a>.</p>
+
+ <note type="warning">
+ Certaines variables comme <code>CONTENT_TYPE</code> ainsi que
+ d'autres en-têtes de réponse ne seront pas disponibles dans ce bloc,
+ car elle sont définies après l'évaluation des conditions <If>.
+ </note>
+
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>All</override>
-<compatibility>Les identificateurs de modules sont disponibles dans les
-versions 2.1 et supérieures.</compatibility>
<usage>
<p>La section <code><IfModule
host</context>
<context>directory</context>
</contextlist>
-<compatibility>Utilisation des caractères génériques dans la partie nom
-de fichier depuis la version 2.0.41, et dans la partie chemin depuis la
-version 2.3.6</compatibility>
+<compatibility>Utilisation des caractères
+génériques dans la partie chemin depuis la version 2.3.6</compatibility>
<usage>
<p>Cette directive permet l'inclusion d'autres fichiers de
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
-<compatibility>La spécification d'une valeur en millisecondes est
-possible depuis les versions 2.3.2 et supérieures d'Apache httpd</compatibility>
<usage>
<p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
est élévé, plus nombreux seront les processus serveur en attente de
requêtes de la part de clients inactifs.</p>
- <p>Dans un contexte de serveur virtuel à base de nom, c'est
- la valeur de la paire adresse IP/port du serveur virtuel qui
- correspond le mieux qui sera utilisée.</p>
+ <p>Si la directive <directive>KeepAliveTimeout</directive>
+ <strong>n'est pas</strong> définie pour un des serveurs virtuels
+ à base de nom, c'est le serveur virtuel dont la paire adresse
+ IP/port correspond le mieux qui sera utilisée.</p>
</usage>
</directivesynopsis>
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
-<compatibility>Disponible à partir de la version 2.0.47 d'Apache httpd</compatibility>
<usage>
<p>Une redirection interne survient, par exemple, quand on utilise
<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
- pouvez pas spécifier une valeur supérieure à 8190 sans modifier le
- code source et recompiler.</note>
+ <note>Dans des conditions normales, cette directive doit conserver
+ sa valeur par défaut.</note>
<note type="warning"><title>Avertissement</title>
<p>Dans le cas des serveurs virtuels à base de noms, la valeur de
/private1/ et /private1/file.txt, mais pas à /private1other.
</p>
<highlight language="config">
-<Location /private1>
+<Location "/private1">
# ...
</Location>
</highlight>
à /private2/file.txt, mais pas à /private2other.
</p>
<highlight language="config">
-<Location /private2<em>/</em>>
+<Location "/private2<em>/</em>">
# ...
</Location>
</highlight>
plutôt les sections <directive
type="section" module="core">Directory</directive> et <directive
type="section" module="core">Files</directive>. <code><Location
- /></code> constitue une exception et permet d'appliquer aisément
+ "/"></code> constitue une exception et permet d'appliquer aisément
une configuration à l'ensemble du serveur.</p>
</note>
utiliser :</p>
<highlight language="config">
-<Location /status>
+<Location "/status">
SetHandler server-status
Require host example.com
</Location>
explicitement les slashes multiples si telle est votre
intention.</p>
- <p>Par exemple, <code><LocationMatch ^/abc></code> va
+ <p>Par exemple, <code><LocationMatch "^/abc"></code> va
correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
//abc</code>. La directive <directive type="section"
>Location</directive> sans expression rationnelle se comporte de
est utilisée pour des requêtes non mandatées, elle fera
correspondre implicitement les slashes multiples à des slashes
uniques. Par exemple, si vous spécifiez <code><Location
- /abc/def></code>, une requête de la forme
+ "/abc/def"></code>, une requête de la forme
<code>/abc//def</code> correspondra.</p>
</note>
</usage>
<p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
+
+ <note><p>Si vous recherchez une URL <strong>commençant par</strong>
+ plutôt que seulement contenant <code>/extra/data</code>, préfixez
+ l'expression rationnelle avec un <code>^</code>.</p>
+
+ <highlight language="config">
+ <LocationMatch "^/(extra|special)/data">
+ </highlight>
+ </note>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<LocationMatch "^/combined/(?<sitename>[^/]+)">
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</LocationMatch>
+</highlight>
</usage>
<seealso><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
La configuration du niveau de journalisation par répertoire
n'affecte que les messages journalisés après l'interprétation de
la requête et qui sont associés à cette dernière. Les messages
- de journalisation associés à la connexion ou au serveur ne sont
- pas affectés.
+ de journalisation associés au serveur ou à la connexion ne sont
+ pas affectés. Il est cependant possible d'agir sur ces
+ derniers à l'aide de la directive <directive
+ module="core">LogLevelOverride</directive>.
</note>
</usage>
+<seealso><directive module="core">ErrorLog</directive></seealso>
+<seealso><directive module="core">ErrorLogFormat</directive></seealso>
+<seealso><directive module="core">LogLevelOverride</directive></seealso>
+<seealso><a href="../logs.html">Journaux du serveur HTTP Apache</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LogLevelOverride</name>
+<description>Surcharge la verbosité du journal des erreurs pour certains
+clients</description>
+<syntax>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
+ [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
+</syntax>
+<default>non définie</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>La directive <directive>LogLevelOverride</directive> permet
+ d'affiner la définition de la directive <directive
+ module="core">LogLevel</directive> pour les requêtes en provenance
+ de certaines adresses IP. Il est ainsi possible d'activer une
+ journalisation détaillée seulement pour certains clients à des fins
+ de test. Les adresses IP sont vérifiées à un stade très précoce du
+ processus de connexion. Ainsi, la directive
+ <directive>LogLevelOverride</directive> permet de modifier le niveau
+ de journalisation pour des processus comme la négociation SSL qui
+ intervient avant l'évaluation d'une éventuelle directive <directive
+ module="core">LogLevel</directive> au sein d'un conteneur <directive
+ type="section" module="core">If</directive>.</p>
+
+ <p>La directive <directive>LogLevelOverride</directive> accepte soit
+ une adresse IP simple, soit une spécification de sous-réseau CIDR de
+ la forme adresse-IP/masque. Pour la syntaxe de la spécification du
+ niveau de journalisation, voir la directive <directive
+ module="core">LogLevel</directive> directive.</p>
+
+ <p>Pour les requêtes concernées par une directive
+ <directive>LogLevelOverride</directive>, les spécifications de
+ niveau répertoire de la directive <directive
+ module="core">LogLevel</directive> sont ignorées.</p>
+
+ <p>Exemples:</p>
+
+ <highlight language="config">
+ LogLevelOverride 192.0.2.0/24 ssl:trace6
+ LogLevelOverride 192.0.2.7 ssl:trace8
+ </highlight>
+
+ <note>
+ La directive <directive>LogLevelOverride</directive> n'affecte que les
+ messages associés à la requête ou à la connexion. Les messages
+ associés au serveur ne sont pas affectés.
+ </note>
+
+</usage>
+<seealso><directive module="core">LogLevel</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<p>La directive <directive>Mutex</directive> permet de définir le
mécanisme de mutex, et éventuellement le répertoire du fichier
verrou que les modules et httpd utilisent pour sérialiser l'accès aux
- ressources. Spécifiez <code>default</code> comme premier argument
+ ressources. Spécifiez <code>default</code> comme second argument
pour modifier la configuration de tous les mutex ; spécifiez un nom
de mutex (voir la table ci-dessous) comme premier argument pour
ne modifier que la configuration de ce mutex.</p>
<p>Avec les mécanismes à base de fichier <em>fcntl</em> et
<em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
lequel le fichier verrou sera créé. Le répertoire par défaut est le
- répertoire httpd défini par la directive <directive
- module="core">ServerRoot</directive>. Utilisez toujours un système
+ répertoire d'exécution httpd défini par la directive <directive
+ module="core">DefaultRuntimeDir</directive>. Si le répertoire
+ spécifié est un chemin relatif, il est relatif au chemin défini par
+ la directive <directive module="core">DefaultRuntimeDir</directive>.
+ Utilisez toujours un système
de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
jamais un répertoire se trouvant dans un système de fichiers NFS ou
AFS. Le nom de base du fichier se composera du type de mutex, d'une
<em>pas</em> le nom de chemin concerné défini par la section
<directive type="section"
module="core">Directory</directive>.</p>
- <p>Notez aussi que cette option <strong>est ignorée</strong> si
- elle est définie dans une section <directive type="section"
- module="core">Location</directive>.</p>
+
+ <p>Les options <code>FollowSymLinks</code> et
+ <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
+ sections <directive type="section"
+ module="core">Directory</directive> ou les fichiers
+ <code>.htaccess</code>.</p>
+
<p>Le fait d'omettre cette option ne doit pas être considéré comme
une mesure de sécurité efficace, car il existe toujours une
situation de compétition (race condition) entre l'instant où l'on
vers un fichier ou un répertoire dont le propriétaire est le même
que celui du lien.
- <note><title>Note</title> <p>Cette option est ignorée si elle est
- définie dans une section <directive module="core"
- type="section">Location</directive>.</p>
+ <note><title>Note</title>
+ <p>Les options <code>FollowSymLinks</code> et
+ <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
+ sections <directive type="section"
+ module="core">Directory</directive> ou les fichiers
+ <code>.htaccess</code>.</p>
+
<p>Le fait d'omettre cette option ne doit pas être considéré comme
une mesure de sécurité efficace, car il existe toujours une
situation de compétition (race condition) entre l'instant où l'on
vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
- l'on utilise effectivement ce chemin.</p></note>
- </dd>
+ l'on utilise effectivement ce chemin.</p>
+ </note> </dd>
</dl>
<p>Normalement, si plusieurs directives
<description>Protocole pour une socket d'écoute</description>
<syntax>Protocol <var>protocole</var></syntax>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
-<compatibility>Disponible depuis la version 2.1.5 d'Apache, mais
-seulement depuis la version 2.3.3 sous Windows.</compatibility>
+<compatibility>Sous Windows, disponible à partir de la version 2.3.3 du
+serveur HTTP Apache.</compatibility>
<usage>
<p>Cette directive permet de spécifier le protocole utilisé pour une
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
+<directivesynopsis>
+ <name>Protocols</name>
+ <description>Protocoles disponibles pour un serveur virtuel ou non</description>
+ <syntax>Protocols <var>protocole</var> ...</syntax>
+ <contextlist><context>server config</context><context>virtual host</context></contextlist>
+ <compatibility>Disponible à partir de la version 2.4.17 du serveur
+ HTTP Apache.</compatibility>
+
+ <usage>
+ <p>Cette directive permet de spécifier la liste des protocoles
+ supportés par un serveur virtuel ou non. Cette liste énumère les
+ protocoles qu'un client sera autorisé à négocier avec ce
+ serveur.</p>
+
+ <p>Vous ne devez fournir cette liste que si vous voulez limiter
+ les protocoles disponibles pour le serveur. Par défaut, tous les
+ protocoles sont disponibles.</p>
+
+ <p>Par exemple, si vous ne voulez autoriser que le protocole
+ HTTP/1.1, même si le protocole HTTP/2 est disponible, utilisez
+ cette directive comme suit :</p>
+
+ <highlight language="config">
+ Protocols http/1.1
+ </highlight>
+
+ <p>Les protocoles valides sont <code>http/1.1</code> pour les
+ connexions http et https, <code>h2</code> pour les connections
+ https et <code>h2c</code> pour les connexions http. D'autres
+ modules peuvent fournir d'autres protocoles.</p>
+
+ <p>Spécifier des protocoles non disponibles ou désactivés n'aura
+ aucun effet, et ceux-ci seront simplement ignorés.</p>
+
+ <p>Si un serveur virtuel ne possède pas de directive Protocols
+ propre, il hérite des protocoles spécifiés pour le serveur
+ principal. Autrement dit, les directives Protocols définies au
+ niveau d'un serveur virtuel remplacent celles définies au niveau
+ du serveur principal.
+ </p>
+
+ </usage>
+ <seealso><directive module="core">ProtocolsHonorOrder</directive></seealso>
+</directivesynopsis>
+
+
+<directivesynopsis>
+ <name>ProtocolsHonorOrder</name>
+ <description>Protocoles disponibles pour un serveur virtuel ou non</description>
+ <syntax>ProtocolsHonorOrder On|Off</syntax>
+ <default>ProtocolsHonorOrder Off</default>
+ <contextlist><context>server config</context><context>virtual host</context></contextlist>
+ <compatibility>Disponible à partir de la version 2.4.17 du serveur
+ HTTP Apache.</compatibility>
+
+ <usage>
+ <p>Cette directive permet de définir si le serveur doit tenir
+ compte de l'ordre des protocoles définis par la directive
+ <directive>Protocols</directive>.</p>
+
+ <p>Par défaut, un client fournit une liste de protocoles
+ supportés et le serveur sélectionne le premier disponible.</p>
+
+ <p>Si la directive <directive>ProtocolsHonorOrder</directive>
+ est définie à <code>on</code>, il n'est pas tenu compte de l'ordre de la liste des
+ protocoles fournie par le client, et seul l'ordre de la liste des
+ protocles définie au niveau du serveur influera la négociation
+ du protocole.</p>
+
+ </usage>
+ <seealso><directive module="core">Protocols</directive></seealso>
+</directivesynopsis>
<directivesynopsis>
<name>RLimitCPU</name>
host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Win32 seulement ;
-l'option <code>Registry-Strict</code> est disponible dans les versions
-2.0 et supérieures du serveur HTTP Apache</compatibility>
+<compatibility>Win32 seulement</compatibility>
<usage>
<p>Cette directive permet de contrôler la méthode qu'utilise Apache
<syntax>SeeRequestTail On|Off</syntax>
<default>SeeRequestTail Off</default>
<contextlist><context>server config</context></contextlist>
-<compatibility>Disponible depuis la version 2.2.7
-d'Apache httpd.</compatibility>
<usage>
<p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
annule cependant la précédente (pour ce serveur).</p>
<p>Si la directive <directive>ServerName</directive> n'est pas
- définie, le serveur tente de déterminer le nom d'hôte en effectuant
- une recherche DNS inverse sur son adresse IP. Si la directive
+ définie, le serveur tente de déterminer le nom
+ d'hôte visible du point de vue du client en effectuant
+ une recherche DNS inverse sur une adresse IP du serveur.</p>
+
+ <p>Si la directive
<directive>ServerName</directive> ne précise pas de port, le serveur
utilisera celui de la requête entrante. Il est recommandé de
spécifier un nom d'hôte et un port spécifiques à l'aide de la
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Intégré dans le noyau d'Apache httpd depuis la version
-2.0</compatibility>
<usage>
<p>Lorsqu'elle se situe à l'intérieur d'un fichier
fichier particulière. Par exemple :</p>
<highlight language="config">
-<FilesMatch \.php$>
+<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</highlight>
maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
tampon d'envoi est plein.</li>
- <li>Avec <module>mod_cgi</module>, le temps d'attente maximum des
+ <li>Avec <module>mod_cgi</module> et <module>mod_cgid</module>, le temps d'attente maximum des
sorties d'un script CGI.</li>
<li>Avec <module>mod_ext_filter</module>, le temps d'attente
<syntax>TraceEnable <var>[on|off|extended]</var></syntax>
<default>TraceEnable on</default>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
-<compatibility>Disponible dans les versions 1.3.34, 2.0.55 et
-supérieures du serveur HTTP Apache</compatibility>
<usage>
<p>Cette directive l'emporte sur le comportement de
<name>UnDefine</name>
<description>Invalide la définition d'une variable</description>
<syntax>UnDefine <var>nom-variable</var></syntax>
-<contextlist><context>server config</context></contextlist>
+<contextlist><context>server config</context>
+<context>virtual host</context></contextlist>
<usage>
<p>Annule l'effet d'une directive <directive
section <directive module="core" type="section">IfDefine</directive>
sans avoir à modifier les arguments <code>-D</code> dans les scripts
de démarrage.</p>
+ <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
+ changements qu'elle induit sont visibles de toute directive
+ ultérieure, au delà de tout bloc VirtualHost.</p>
</usage>
</directivesynopsis>
<highlight language="config">
<VirtualHost 10.1.2.3:80>
ServerAdmin webmaster@host.example.com
- DocumentRoot /www/docs/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
+ ErrorLog "logs/host.example.com-error_log"
+ TransferLog "logs/host.example.com-access_log"
</VirtualHost>
</highlight>
<highlight language="config">
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
ServerAdmin webmaster@host.example.com
- DocumentRoot /www/docs/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
+ ErrorLog "logs/host.example.com-error_log"
+ TransferLog "logs/host.example.com-access_log"
</VirtualHost>
</highlight>
entre elles à la réception d'une requête</seealso>
</directivesynopsis>
+<directivesynopsis>
+<name>RegisterHttpMethod</name>
+<description>Enregistrement de méthodes HTTP non standards</description>
+<syntax>RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+<p>Normalement, les méthodes HTTP non conformes aux RFCs correspondantes
+sont rejetées au cours du traitement de la requête par HTTPD. Pour
+éviter ceci, les modules peuvent enregistrer les méthodes HTTP non
+standards qu'ils supportent. La directive
+<directive>RegisterHttpMethod</directive> permet d'enregistrer de telles
+méthodes manuellement. Ceci peut s'avérer utile si de telle méthodes
+doivent être utilisées dans un traitement externe, comme un script CGI.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Warning</name>
+<description>Message d'avertissement personnalisable en provenance de
+l'interprétation du fichier de configuration</description>
+<syntax>Warning <var>message</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<compatibility>Disponible à partir de la version 2.5 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>Cette directive permet de signaler la détection d'un problème de
+ configuration en générant un message d'avertissement
+ personnalisable. L'interprétation du fichier de configuration n'est
+ pas interrompue. Un exemple typique d'utilisation est la
+ vérification de la définition de certaines options définies par
+ l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
+
+ <highlight language="config">
+# Exemple
+# signale que ReverseProxy n'est pas défini
+<IfDefine !ReverseProxy>
+ Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
+ si nécessaire"
+</IfDefine>
+
+<IfDefine ReverseProxy>
+ # définition de la configuration personnalisée du mandataire
+</IfDefine>
+ </highlight>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>MergeTrailers</name>
+<description>Détermine si les données supplémentaires (trailers) sont
+fusionnées avec les en-têtes</description>
+<syntax>MergeTrailers [on|off]</syntax>
+<default>MergeTrailers off</default>
+<contextlist><context>server config</context><context>virtual host</context></contextlist>
+<compatibility>Disponible à partir de la version 2.4.11 du serveur HTTP
+Apache</compatibility>
+
+<usage>
+ <p>Cette directive permet de contrôler la fusion des données HTTP
+ supplémentaires (trailers) avec la représentation interne des
+ en-têtes. Cette fusion intervient lorsque le corps de la requête a
+ été entièrement reçu, bien longtemps après que la majeure partie du
+ traitement des en-têtes ait une chance de pouvoir examiner ou
+ modifier les en-têtes de la requête.</p>
+ <p>Cette option a été introduite dans un souci de compatibilité avec
+ les versions antérieures à 2.4.11, où les données supplémentaires
+ étaient systématiquement fusionnées avec les en-têtes de la requête.</p>
+</usage>
+</directivesynopsis>
+
+
</modulesynopsis>