<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
-<img alt="" src="../images/feather.gif" /></div>
+<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#asyncfilter">AsyncFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#warning">Warning</a></li>
</ul>
-<ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="acceptfilter" id="acceptfilter">Directive</a> <a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a></h2>
pour y lire d'éventuelles directives, à moins quelles n'aient été
désactivées avec</p>
- <pre class="prettyprint lang-config"><Directory />
+ <pre class="prettyprint lang-config"><Directory "/">
AllowOverride None
</Directory></pre>
<dt>Nonfatal=[Override|Unknown|All]</dt>
- <dd>
- Permet d'utiliser l'option AllowOverride pour rendre les erreurs
- de syntaxe non fatales dans les fichiers .htaccess : au lieu de
- causer une Internal Server Error, les directives non autorisées ou
- non reconnues seront ignorées et un avertissement enregistré dans
- le journal :
+ <dd>Permet d'utiliser l'option AllowOverride pour rendre non fatales les
+ directives invalides (non reconnues ou non permises) dans les fichiers
+ .htaccess : au lieu de causer une Internal Server Error, les directives
+ non autorisées ou non reconnues seront ignorées et un avertissement
+ enregistré dans le journal :
<ul>
<li><strong>Nonfatal=Override</strong> rend les directives
interdite par AllowOverride non fatales.</li>
précédentes non fatales.</li>
</ul>
<p>Notez qu'une erreur de syntaxe dans une directive valide
- causera toujours une internal server error.</p>
+ causera toujours une Internal Server Error.</p>
<div class="warning"><h3>Sécurité</h3>
Les erreurs non fatales peuvent être à l'origine de problèmes
de sécurité pour les utilisateurs de fichiers .htaccess. Par
<p>Dans l'exemple ci-dessus, toutes les directives qui ne font
partie ni du groupe <code>AuthConfig</code>, ni du groupe
- <code>Indexes</code>, provoquent une erreur "internal
- server error".</p>
+ <code>Indexes</code>, provoquent une erreur "Internal
+ Server Error".</p>
<div class="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>
<li><a href="../configuring.html">Fichiers de configuration</a></li>
<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="asyncfilter" id="asyncfilter">Directive</a> <a name="AsyncFilter" id="AsyncFilter">AsyncFilter</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de filtrage minimal disponible pour le
+ traitement asynchrone</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AsyncFilter request|connection|network</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AsyncFilter request</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur
+ HTTP Apache</td></tr>
+</table>
+ <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
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Si elle est définie à "request", tous
+ les filtres seront disponibles pour le traitement asynchrone.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cgimapextension" id="cgimapextension">Directive</a> <a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a></h2>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CGIPassAuth</code> permet aux
modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
peuvent aussi choisir de prendre en compte cette option.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="cgivar" id="cgivar">Directive</a> <a name="CGIVar" id="CGIVar">CGIVar</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont certaines variables CGI sont définies</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr>
+</table>
+ <p>Cette directive permet de contrôler la manière dont certaines variables CGI
+ sont définies.</p>
+
+ <p>règles <strong>REQUEST_URI</strong> :</p>
+ <dl>
+ <dt><code>original-uri</code> (valeur par défaut)</dt>
+ <dd>La valeur est extraite de la requête originale, et ne tient pas compte
+ des redirections internes ou des sous-requêtes qui pourraient modifier la
+ ressource demandée.</dd>
+ <dt><code>current-uri</code></dt>
+ <dd>La valeur reflète la ressource en cours de traitement ; elle peut être
+ différente de la ressource demandée dans la requête initiale du client suite à
+ d'éventuelles redirections internes ou sous-requêtes.</dd>
+ </dl>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="contentdigest" id="contentdigest">Directive</a> <a name="ContentDigest" id="ContentDigest">ContentDigest</a></h2>
Define SSL
</IfDefine>
- DocumentRoot /var/www/${servername}/htdocs</pre>
+ DocumentRoot "/var/www/${servername}/htdocs"</pre>
<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>
<pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks
</Directory></pre>
+ <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>
+
<div class="note">
<p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
doit correspondre exactement au chemin du système de fichier
directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
exemple, avec</p>
- <pre class="prettyprint lang-config"><Directory />
+ <pre class="prettyprint lang-config"><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>
- <pre class="prettyprint lang-config"><Directory />
+ <pre class="prettyprint lang-config"><Directory "/">
Require all denied
</Directory></pre>
précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
- <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</DirectoryMatch></pre>
- <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>
<div class="note"><h3>Compatibilité</h3>
nommées) sont ignorées. Vous devez utiliser à la place des groupes
nommés.</p>
-<pre class="prettyprint lang-config"><DirectoryMatch ^/var/www/combined/(?<sitename>[^/]+)>
- require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+<pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
+ Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</DirectoryMatch></pre>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
depuis Internet</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
savoir une URL, un chemin ou un message, est prise avant
l'interprétation de toute expression. Exemples :</p>
- <pre class="prettyprint lang-config">ErrorDocument 500 http://foo.example.com/cgi-bin/tester
-ErrorDocument 404 /cgi-bin/bad_urls.pl
+ <pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
+ErrorDocument 404 /errors/bad_urls.php
ErrorDocument 401 /subscription_info.html
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}}</pre>
+ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre>
<p>De plus, on peut spécifier la valeur spéciale <code>default</code>
<pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl
-<Directory /web/docs>
+<Directory "/web/docs">
ErrorDocument 404 default
</Directory></pre>
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
exemple :</p>
- <pre class="prettyprint lang-config"><FilesMatch "\.(gif|jpe?g|png)$">
+ <pre class="prettyprint lang-config"><FilesMatch ".+\.(gif|jpe?g|png)$">
# ...
</FilesMatch></pre>
<p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
+ <div class="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.</div>
+
<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ées) sont ignorées. Vous devez utiliser à la place des groupes
nommés.</p>
-<pre class="prettyprint lang-config"><FilesMatch ^(?<sitename>[^/]+)>
+<pre class="prettyprint lang-config"><FilesMatch "^(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</FilesMatch></pre>
<code>None</code> à l'argument <var>type médium</var> :</p>
<pre class="prettyprint lang-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></pre>
générateur de réponse spécifie en général un type de contenu, cette
directive est ignorée.</p>
+ <div class="note"><h3>Note</h3>
+ <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 <code class="directive"><a href="#sethandler">SetHandler</a></code> ou
+ <code class="directive">module="mod_mime">AddHandler</code> 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
+ <code class="directive"><a href="#sethandler">SetHandler</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> doivent aussi restreindre
+ l'accès à cette directive.</p>
+ </div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="httpprotocoloptions" id="httpprotocoloptions">Directive</a> <a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modify restrictions on HTTP Request Messages</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [StrictURL|UnsafeURL]
+ [StrictWhitespace|LenientWhitespace] [RegisteredMethods|LenientMethods]
+ [Allow0.9|Require1.0]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HttpProtocolOptions Strict StrictURL LenientWhitespace
+LenientMethods Allow0.9</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>2.2.32 or 2.4.24 and later</td></tr>
+</table><p>La documentation de cette directive
+ n'a pas encore t traduite. Veuillez vous reporter la version
+ en langue anglaise.</p></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="if" id="if">Directive</a> <a name="If" id="If"><If></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une
<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>
+ <div class="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>.
+ </div>
+
<h3>Voir aussi</h3>
<ul>
directives contenues dans la section s'appliqueront à /private1,
/private1/ et /private1/file.txt, mais pas à /private1other.
</p>
- <pre class="prettyprint lang-config"><Location /private1>
+ <pre class="prettyprint lang-config"><Location "/private1">
# ...
</Location></pre>
directives contenues dans la section s'appliqueront à /private2/ et
à /private2/file.txt, mais pas à /private2other.
</p>
- <pre class="prettyprint lang-config"><Location /private2<em>/</em>>
+ <pre class="prettyprint lang-config"><Location "/private2<em>/</em>">
# ...
</Location></pre>
des contenus situés en dehors du système de fichiers. Pour les
contenus situés à l'intérieur du système de fichiers, utilisez
plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <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>
</div>
appartenant au domaine <code>example.com</code>, vous pouvez
utiliser :</p>
- <pre class="prettyprint lang-config"><Location /status>
+ <pre class="prettyprint lang-config"><Location "/status">
SetHandler server-status
Require host example.com
</Location></pre>
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 <code class="directive"><Location></code> sans expression rationnelle se comporte de
la même manière lorsqu'elle est utilisée pour des requêtes
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>
</div>
<p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
+ <div class="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>
+
+ <pre class="prettyprint lang-config"><LocationMatch "^/(extra|special)/data"></pre>
+
+ </div>
+
<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ées) sont ignorées. Vous devez utiliser à la place des groupes
nommés.</p>
-<pre class="prettyprint lang-config"><LocationMatch ^/combined/(?<sitename>[^/]+)>
+<pre class="prettyprint lang-config"><LocationMatch "^/combined/(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</LocationMatch></pre>
<div class="note">
- La directive <code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code> n'affecte que les
+ La directive <code class="directive">LogLevelOverride</code> n'affecte que les
messages associés à la requête ou à la connexion. Les messages
associés au serveur ne sont pas affectés.
</div>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
Apache</td></tr>
</table>
<p>Cette directive permet de contrôler la fusion des données HTTP
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>
</div>
<p>La directive <code class="directive">Mutex</code> 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>Normalement, si plusieurs directives
<code class="directive">Options</code> peuvent s'appliquer à un répertoire,
c'est la plus spécifique qui est utilisée et les autres sont
- ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont
+ ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#merging">comment les sections sont
fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
options de la directive <code class="directive">Options</code> sont
précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
<li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="protocols" id="protocols">Directive</a> <a name="Protocols" id="Protocols">Protocols</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocoles disponibles pour un serveur virtuel ou non</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocols <var>protocole</var> ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Protocols http/1.1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
+ HTTP Apache.</td></tr>
+</table>
+ <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>
+
+ <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre>
+
+
+ <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>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#protocolshonororder">ProtocolsHonorOrder</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="protocolshonororder" id="protocolshonororder">Directive</a> <a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine qui du client ou du serveur détermine l'ordre
+ des protocoles au cours de la négociation de la connexion</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
+ HTTP Apache.</td></tr>
+</table>
+ <p>Cette directive permet de définir si le serveur doit tenir
+ compte de l'ordre des protocoles définis par la directive
+ <code class="directive">Protocols</code>.</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 <code class="directive">ProtocolsHonorOrder</code>
+ 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>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#protocols">Protocols</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a> <a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>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.</td></tr>
+</table>
+ <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 <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL ON</a></code>, 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>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="registerhttpmethod" id="registerhttpmethod">Directive</a> <a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a></h2>
(que ce soit pour ServerName ou ServerAlias).</p>
<p>Tous les noms spécifiés au sein d'une section
- <code class="directive">VirtualHost</code> sont traités comme un
- <code class="directive">ServerAlias</code> (sans caractères génériques).</p>
+ <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> sont traités comme un
+ <code class="directive"><a href="#serveralias"><ServerAlias></a></code>
+ (sans caractères génériques).</p>
<h3>Voir aussi</h3>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
s'authentifier lui-même</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine
-entièrement qualifié</var>[:<var>port</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName
+[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ServerName</code> permet de définir
les protocole, nom d'hôte et port d'une requête que le serveur
- utilise pour s'authentifier lui-même. Ceci est utile lors de la
- création de redirections d'URLs.</p>
+ utilise pour s'authentifier lui-même.</p>
- <p>La directive <code class="directive">ServerName</code> permet aussi
+ <p>La directive <code class="directive">ServerName</code> permet
(éventuellement en conjonction avec la directive
- <code class="directive">ServerAlias</code>) d'identifier de manière unique
+ <code class="directive"><a href="#serveralias">ServerAlias</a></code>) d'identifier de manière unique
un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de
noms</a>.</p>
+
+ <p>Cette directive est aussi utilisée lors de la création d'URLs de
+ redirection relatives quand la directive
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à une valeur autre que
+ la valeur par défaut.</p>
<p>Par exemple, si le nom de la
machine hébergeant le serveur web est
<p>Si la directive <code class="directive">ServerName</code> n'est pas
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>
+ d'hôte visible du point de vue du client en demandant tout d'abord au
+ système d'exploitation le nom d'hôte système, et en cas d'échec, en effectuant
+ une recherche DNS inverse sur une adresse IP présente sur le système.</p>
<p>Si la directive
<code class="directive">ServerName</code> ne précise pas de port, le serveur
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
gestionnaire particulier</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>handler-name</var>|none|<var>expression</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr>
</table>
<p>Lorsqu'elle se situe à l'intérieur d'un fichier
<code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le
gestionnaire à des fichiers possèdant une extension de nom de
fichier particulière. Par exemple :</p>
- <pre class="prettyprint lang-config"><FilesMatch \.php$>
+ <pre class="prettyprint lang-config"><FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch></pre>
+ <p>On peut utiliser des expressions ayant pour valeur des chaînes pour
+ référencer des variables spécifiques à une requête, y compris les
+ références arrières vers des expressions rationnelles nommées :</p>
+
+ <pre class="prettyprint lang-config"><LocationMatch ^/app/(?<sub>[^/]+)/>
+ SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080"
+</LocationMatch></pre>
+
+
<p>Vous pouvez écraser la définition antérieure d'une directive
<code class="directive">SetHandler</code> en utilisant la valeur
<code>None</code>.</p>
temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
selon les circonstances :</p>
- <ol>
- <li>Lors de la lecture de données en provenance du client, le
+ <ul>
+ <li><p>Lors de la lecture de données en provenance du client, le
temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
- vide.</li>
+ vide.</p>
+ <p>Pour les données initiales d'une nouvelle connexion, et tant qu'une
+ directive <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> n'aura pas
+ transmis cette nouvelle connexion au serveur, cette directive n'aura aucun
+ effet.</p>
+ </li>
<li>Lors de l'écriture de données destinées au client, le temps
maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
<li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est
pas défini.</li>
- </ol>
+ </ul>
</div>
peut autoriser l'ajout d'un corps de requête à l'aide de la
définition non standard <code>TraceEnable extended</code>. Le noyau
du serveur (dans le cas d'un serveur d'origine) va limiter la taille
- du corps de requête à 64k (plus 8k pour les en-têtes de
+ du corps de requête à 64Kb (plus 8Kb pour les en-têtes de
fractionnement si <code>Transfer-Encoding: chunked</code> est
utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
y compris les en-têtes de fractionnement avec le corps de la
réponse. Dans le cas d'un serveur mandataire, la taille du corps de
- requête n'est pas limitée à 64k.</p>
+ requête n'est pas limitée à 64Kb.</p>
<div class="note"><h3>Note</h3>
- <p>Bien que certains prétendent le contraire, <code>TRACE</code> ne
- constitue pas une vulnérabilité en matière de sécurité, et il n'y a
- aucune raison suffisante pour le désactiver, ce qui rendrait
- votre serveur non conforme.</p>
+ <p>Bien que certains prétendent le contraire, activer la méthode
+ <code>TRACE</code> ne constitue pas un problème de sécurité dans Apache
+ httpd. La méthode <code>TRACE</code> est définie par la spécification
+ HTTP/1.1 et les différentes implémentations sont censées la supporter.</p>
</div>
</div>
<pre class="prettyprint lang-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></pre>
<pre class="prettyprint lang-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></pre>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();