<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1664071:1674195 (outdated) -->
+<!-- English Revision: 1710380:1725102 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
désactivées avec</p>
<highlight language="config">
-<Directory />
+<Directory "/">
AllowOverride None
</Directory>
</highlight>
<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>
<seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
</directivesynopsis>
+<directivesynopsis>
+ <name>AsyncFilter</name>
+ <description>Définit le type de filtrage minimal disponible pour le
+ traitement asynchrone</description>
+ <syntax>AsyncFilter request|connection|network</syntax>
+ <default>AsyncFilter request</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>Cette directive permet de définir les niveaux minimaux de
+ filtrage disponibles pour le traitement asynchrone. Son
+ utilisation s'avère nécessaire pour le support des filtres
+ externes anciens qui ne géraient pas les meta-conteneurs
+ correctement.</p>
+
+ <p>Si elle est définie à "network", le traitement asynchrone se
+ limitera aux filtrages réseau. Si elle est définie à
+ "connection", tous les filtres de réseau et de connexion seront
+ disponibles pour le traitement asynchrone, y compris
+ <module>mod_ssl</module>. Si elle est définie à "request", tous
+ les filtres seront disponibles pour le traitement asynchrone.</p>
+ </usage>
+</directivesynopsis>
+
<directivesynopsis>
<name>CGIMapExtension</name>
<description>Technique permettant de localiser l'interpréteur des
<contextlist><context>directory</context><context>.htaccess</context>
</contextlist>
<override>AuthConfig</override>
-<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.13 du serveur HTTP
Apache</compatibility>
<usage>
Define SSL
</IfDefine>
- DocumentRoot /var/www/${servername}/htdocs
+ DocumentRoot "/var/www/${servername}/htdocs"
</highlight>
<p>Le caractère ":" est interdit dans les noms de variables afin
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
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>
nommés.</p>
<highlight language="config">
-<DirectoryMatch ^/var/www/combined/(?<sitename>[^/]+)>
- require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</DirectoryMatch>
</highlight>
</usage>
<highlight language="config">
ErrorDocument 404 /cgi-bin/bad_urls.pl
-<Directory /web/docs>
+<Directory "/web/docs">
ErrorDocument 404 default
</Directory>
</highlight>
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é
nommés.</p>
<highlight language="config">
-<FilesMatch ^(?<sitename>[^/]+)>
+<FilesMatch "^(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</FilesMatch>
</highlight>
<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
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
/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é
nommés.</p>
<highlight language="config">
-<LocationMatch ^/combined/(?<sitename>[^/]+)>
+<LocationMatch "^/combined/(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</LocationMatch>
</highlight>
</highlight>
<note>
- La directive <directive
- module="core">LogLevelOverride</directive> n'affecte que les
+ 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>
<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>
<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>
+ <default>Protocols http/1.1</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 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>Par défaut,
+ seul le protocole http/1.1 est disponible (compatible avec les
+ clients http/1.0 et http/0.9). Par conséquent, vous devez
+ fournir cette liste si vous voulez étendre les protocoles
+ disponibles pour le serveur.</p>
+
+ <p>Par exemple, si vous voulez autoriser le protocole
+ HTTP/2 pour un serveur avec TLS, utilisez
+ cette directive comme suit :</p>
+
+ <highlight language="config">
+ Protocols h2 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>Détermine qui du client ou du serveur détermine l'ordre
+ des protocoles au cours de la négociation de la connexion</description>
+ <syntax>ProtocolsHonorOrder On|Off</syntax>
+ <default>ProtocolsHonorOrder On</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>Si cette directive est définie à Off, l'ordre de la liste des
+ protocoles fournie par le client l'emporte sur l'ordre défini
+ dans la configuration du serveur.</p>
+
+ <p>Si la directive <directive>ProtocolsHonorOrder</directive>
+ est définie à <code>on</code> (valeur par défaut),
+ 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>
fichier particulière. Par exemple :</p>
<highlight language="config">
-<FilesMatch \.php$>
+<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</highlight>
<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>
<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.10 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.11 du serveur HTTP
Apache</compatibility>
<usage>
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.10, où les données supplémentaires
+ 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>
+<directivesynopsis>
+<name>QualifyRedirectURL</name>
+<description>Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</description>
+<syntax>QualifyRedirectURL ON|OFF</syntax>
+<default>QualifyRedirectURL OFF</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Directive supportée à partir de la version 2.4.18 du
+serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait
+comme si la directive QualifyRedirectURL était définie à ON.</compatibility>
+
+<usage>
+ <p>Cette directive permet de s'assurer que le serveur vérifiera que
+ la variable d'environnement REDIRECT_URL est bien pleinement
+ qualifiée. Par défaut, cette variable contient l'URL textuellement
+ demandée par le client, par exemple "/index.html". Avec <directive
+ module="core">QualifyRedirectURL ON</directive>, la même requête
+ affectera à la variable REDIRECT_URL une valeur du style
+ "http://www.example.com/index.html".</p>
+ <p>Même si cette directive n'est pas définie, lorsqu'une requête est
+ soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL
+ contiendra quand-même une URL pleinement qualifiée.
+ </p>
+</usage>
+</directivesynopsis>
+
</modulesynopsis>