<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1642154:1643267 (outdated) -->
+<!-- English Revision : 1643267 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<td>Le nom d'hôte de l'hôte distant</td></tr>
<tr><td><code>REMOTE_USER</code></td>
<td>Le nom de l'utilisateur authentifié, s'il existe (non
- disponible à l'intérieur d'un bloc <directive><If
- ></directive>)</td></tr>
+ disponible à l'intérieur d'un bloc <directive><If></directive>)</td></tr>
<tr><td><code>REMOTE_IDENT</code></td>
<td>Le nom de l'utilisateur défini par <module>mod_ident</module></td></tr>
<tr><td><code>SERVER_NAME</code></td>
"<code>basic</code>")</td></tr>
<tr><td><code>CONTENT_TYPE</code></td>
<td>Le type de contenu de la réponse (non
- disponible à l'intérieur d'un bloc <directive><If
- ></directive>)</td></tr>
+ disponible à l'intérieur d'un bloc <directive><If></directive>)</td></tr>
<tr><td><code>HANDLER</code></td>
<td>Le nom du <a href="handler.html">gestionnaire</a> qui a
généré la réponse</td></tr>
"<code>off</code>" dans le cas contraire</td></tr>
<tr><td><code>REQUEST_STATUS</code></td>
<td>Le code d'erreur HTTP de la requête (non
- disponible à l'intérieur d'un bloc <directive><If
- ></directive>)</td></tr>
+ disponible à l'intérieur d'un bloc <directive><If></directive>)</td></tr>
<tr><td><code>REQUEST_LOG_ID</code></td>
<td>L'identifiant du message d'erreur associé à la requête (voir
la directive <directive
<td>Identique à <code>req</code>, mais les noms
d'en-tête correspondants ne seront pas ajoutés à l'en-tête Vary</td><td></td></tr>
<tr><td><code>resp</code></td>
- <td>Lit l'en-tête de réponse HTTP</td><td></td></tr>
+ <td>Lit l'en-tête de réponse HTTP (la plupart des
+ en-tête de la réponse ne sont pas encore définis pendant
+ l'exécution de la directive <directive><If></directive>)</td><td></td></tr>
<tr><td><code>reqenv</code></td>
<td>Recherche une variable d'environnement de requête (on
peut aussi utiliser le raccourci <code>v</code>).</td><td></td></tr>
</Directory>
# Vérifie si un en-tête HTTP correspond à une des valeurs d'une liste
-<If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz'}">
+<If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }">
La définition de l'en-tête correspond à une des valeurs recherchées
</If>
# Recherche la valeur d'une expression rationnelle dans une variable
</If>
</Directory>
+# Exemples de fonctions dans un contexte booléen
+<If "md5('foo') == 'acbd18db4cc2f85cedef654fccc4a4d8'">
+ Header set checksum-matched true
+</If>
+<If "md5('foo') == replace('md5:XXXd18db4cc2f85cedef654fccc4a4d8', 'md5:XXX', 'acb')>
+ Header set checksum-matched-2 true
+</If>
+
+# Function example in string context
+Header set foo-checksum "expr=%{md5:foo}"
+
</highlight>
</section>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1631516:1642847 (outdated) -->
+<!-- English Revision : 1642847 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</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.5.0 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>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1591113:1643416 (outdated) -->
+<!-- English Revision : 1643416 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</pre></example>
<p>Les directives suivantes autoriseraient alors l'accès à Bob
- Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
+ Ellis, Tom Jackson, Barbara Jenson, Fred User, Allan Jefferson, et
Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes
(car ils sont situés dans un sous-groupe de niveau de profondeur 2)
:</p>
<highlight language="config">
-Require ldap-group cn=Employees, o-Example
+Require ldap-group cn=Employees, o=Example
AuthLDAPMaxSubGroupDepth 1
</highlight>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1600383:1642590 (outdated) -->
+<!-- English Revision : 1642590 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
Require expr %{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17
</highlight>
+ <highlight language="config">
+<RequireAll>
+ Require expr "!(%{QUERY_STRING} =~ /secret/)"
+ Require expr "%{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"
+</RequireAll>
+ </highlight>
+
+ <highlight language="config">
+ Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"
+ </highlight>
+
<p>La syntaxe de l'expression est décrite dans la documentation de <a
href="../expr.html">ap_expr</a>.</p>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1600539:1643442 (outdated) -->
+<!-- English Revision: 1643442 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
efficace que <code>%s</code>.</p>
</note>
+ <note><title>Note à propos des valeurs des expressions</title>
+ <p>Lorsque le paramètre valeur utilise l'interpréteur <a
+ href="../expr.html">ap_expr</a>, certaines syntaxes d'expressions
+ seront différentes des exemples qui évaluent des expressions
+ <em>booléennes</em> telles que <If> :</p>
+ <ul>
+ <li>Le point de départ de la syntaxe est 'string' au lieu de
+ 'expr'.</li>
+ <li>Les appels de fonction utilisent la syntaxe %{funcname:arg} au
+ lieu de funcname(arg).</li>
+ <li>Les fonctions multi-arguments ne sont pas encore disponibles
+ depuis le point de départ 'string'.</li>
+ <li>Il faut mettre entre guillemets l'ensemble du paramètre, comme
+ dans l'exemple suivant :
+ <highlight language="config">
+ Header set foo-checksum "expr=%{md5:foo}"
+ </highlight>
+ </li>
+
+ </ul>
+ </note>
+
<p><code>edit</code>nécessite les deux arguments
<var>valeur</var>, qui est une <glossary ref="regex">expression
rationnelle</glossary>, et une chaîne additionnelle
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1601532:1643034 (outdated) -->
+<!-- English Revision : 1643034 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
depuis la version 2.4.4 du serveur HTTP Apache.</p>
</dd>
+ <dt><code>IgnoreContextInfo</code></dt>
+ <dd>
+
+ <p>Dans les versions 2.4.11 et antérieures, lors d'une
+ substitution relative dans un contexte de répertoire (htaccess),
+ et si la directive <directive
+ module="mod_rewrite">RewriteBase</directive> n'a pas été définie,
+ ce module utilise des informations en provenance d'une extension
+ d'URL et du contexte du système de fichiers pour transformer la
+ sustitution relative en URL. Par exemple, les modules
+ <module>mod_userdir</module> et <module>mod_alias</module>
+ utilisent ces informations de contexte étendu. Cette option
+ désactive le comportement introduit avec la version 2.4.11, et ne
+ doit être utilisée que si toutes les conditions précédentes sont
+ vérifiées, et si la substitution renvoie un résultat inattendu.</p>
+ </dd>
+
</dl>
</usage>
répertoire (htaccess), sauf si au moins une de ces conditions est
vérifiée :</p>
<ul>
- <li>La requête initiale, ainsi que la substitution, sont dans
- la <directive module="core">DocumentRoot</directive> (c'est à
+ <li>La requête initiale, ainsi que la substitution, se
+ situent par raport à la valeur de la directive
+ <directive module="core">DocumentRoot</directive> (c'est à
dire que pour y accéder, il n'est pas nécessaire d'utiliser
une directive telle qu'<directive
module="mod_alias">Alias</directive>).</li>
contenant la <directive>RewriteRule</directive>, suffixé par
la substitution relative est aussi valide en tant qu'URL sur
le serveur (ce qui est rare).</li>
+ <li>A partir de la version 2.4.11 du serveur HTTP Apache,
+ cette directive peut être omise lorsque la requête est mise en
+ correspondance avec le système de fichiers via la directive
+ <directive module="mod_alias">Alias</directive> ou le module
+ <module>mod_userdir</module>.</li>
</ul>
<p>Dans l'exemple ci-dessous, la directive
<highlight language="config">
DocumentRoot /var/www/example.com
-Alias /myapp /opt/myapp-1.2.3
+AliasMatch ^/myapp /opt/myapp-1.2.3
<Directory /opt/myapp-1.2.3>
RewriteEngine On
RewriteBase /myapp/
RewriteRule ^index\.html$ welcome.html
</Directory>
</highlight>
+
</usage>
</directivesynopsis>
<li>Bien que les règles de réécriture soient permises du point de vue de
la syntaxe dans les sections <directive type="section"
module="core">Location</directive> et <directive type="section"
-module="core">Files</directive>, elles n'y sont pas prises en compte, et
-n'y sont à priori d'aucune utilité.</li>
+module="core">Files</directive> (y compris leurs versions sous forme
+d'expression rationnelle), elles n'y sont pas prises en compte, et
+n'y sont à priori d'aucune utilité. Les substitutions
+relatives sont une fonctionnalité qui n'est, elle non-plus pas supportée
+dans ce genre de contexte.</li>
</ul>
</note>