<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1670326:1673860 (outdated) -->
+<!-- English Revision : 1673860 -->
<!-- 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>
</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>
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
<description>Regroupe un ensemble de directives qui ne s'appliquent
qu'au répertoire concerné du système de fichiers, à ses
sous-répertoires, et à leur contenu.</description>
-<syntax><Directory <var>chemin répertoire</var>>
+<syntax><Directory "<var>chemin répertoire</var>">
... </Directory></syntax>
<contextlist><context>server config</context><context>virtual
host</context>
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>
<description>Racine principale de l'arborescence des documents visible
depuis Internet</description>
<syntax>DocumentRoot <var>chemin répertoire</var></syntax>
-<default>DocumentRoot /usr/local/apache/htdocs</default>
+<default>DocumentRoot "/usr/local/apache/htdocs"</default>
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
<highlight language="config">
ErrorDocument 404 /cgi-bin/bad_urls.pl
-<Directory /web/docs>
+<Directory "/web/docs">
ErrorDocument 404 default
</Directory>
</highlight>
<name>Files</name>
<description>Contient des directives qui s'appliquent aux fichiers
précisés</description>
-<syntax><Files <var>nom fichier</var>> ... </Files></syntax>
+<syntax><Files "<var>nom fichier</var>"> ... </Files></syntax>
<contextlist><context>server config</context><context>virtual
host</context>
<context>directory</context><context>.htaccess</context>
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>
directives qui supportent le <a
href="directive-dict.html#Context">contexte de répertoire</a>.</p>
+ <note type="warning">
+ Certain variables, such as <code>CONTENT_TYPE</code> and other
+ response headers, are set after <If> conditions have already
+ been evaluated, and so will not be available to use in this
+ directive.
+ </note>
+
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
<description>N'applique les directives contenues qu'aux URLs
spécifiées</description>
<syntax><Location
- <var>chemin URL</var>|<var>URL</var>> ... </Location></syntax>
+ "<var>chemin URL</var>|<var>URL</var>"> ... </Location></syntax>
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
/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>
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>