From: Lucien Gentis
Date: Sun, 7 Dec 2014 15:56:04 +0000 (+0000)
Subject: XML updates.
X-Git-Tag: 2.4.11~103
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=299438a37e7c7649841134f3d66606f8ccf7718c;p=apache
XML updates.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1643688 13f79535-47bb-0310-9956-ffa450edef68
---
diff --git a/docs/manual/expr.xml.fr b/docs/manual/expr.xml.fr
index e44cfcce77..fa421d00e0 100644
--- a/docs/manual/expr.xml.fr
+++ b/docs/manual/expr.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -588,7 +588,7 @@ listfunction ::= listfuncname "(" word ")"
</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>
@@ -606,6 +606,18 @@ listfunction ::= listfuncname "(" word ")"
SetOutputFilter INFLATE
</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}"
+
diff --git a/docs/manual/mod/mod_authnz_ldap.xml.fr b/docs/manual/mod/mod_authnz_ldap.xml.fr
index 009a153d20..8688d4fc4c 100644
--- a/docs/manual/mod/mod_authnz_ldap.xml.fr
+++ b/docs/manual/mod/mod_authnz_ldap.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -457,12 +457,12 @@ uniqueMember: cn=Elliot Rhodes, o=Example
Les directives suivantes autoriseraient alors l'accès à Bob
- Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
+ Ellis, Tom Jackson, Barbara Jonsen, 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)
:
-Require ldap-group cn=Employees, o-Example
+Require ldap-group cn=Employees, o=Example
AuthLDAPMaxSubGroupDepth 1
diff --git a/docs/manual/mod/mod_authz_core.xml.fr b/docs/manual/mod/mod_authz_core.xml.fr
index d242719321..0887dd7252 100644
--- a/docs/manual/mod/mod_authz_core.xml.fr
+++ b/docs/manual/mod/mod_authz_core.xml.fr
@@ -3,7 +3,7 @@
-
+
+
@@ -562,6 +562,28 @@ version 2.4.10
efficace que %s
.
+ Note à propos des valeurs des expressions
+ Lorsque le paramètre valeur utilise l'interpréteur ap_expr, certaines syntaxes d'expressions
+ seront différentes des exemples qui évaluent des expressions
+ booléennes telles que <If> :
+
+ - Le point de départ de la syntaxe est 'string' au lieu de
+ 'expr'.
+ - Les appels de fonction utilisent la syntaxe %{funcname:arg} au
+ lieu de funcname(arg).
+ - Les fonctions multi-arguments ne sont pas encore disponibles
+ depuis le point de départ 'string'.
+ - Il faut mettre entre guillemets l'ensemble du paramètre, comme
+ dans l'exemple suivant :
+
+ Header set foo-checksum "expr=%{md5:foo}"
+
+
+
+
+
+
edit
nécessite les deux arguments
valeur, qui est une expression
rationnelle, et une chaîne additionnelle
diff --git a/docs/manual/mod/mod_rewrite.xml.fr b/docs/manual/mod/mod_rewrite.xml.fr
index 62d1917d6c..076dbe5b45 100644
--- a/docs/manual/mod/mod_rewrite.xml.fr
+++ b/docs/manual/mod/mod_rewrite.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -1155,8 +1155,11 @@ signifie que la comparaison s'effectue avec une chaîne qui ne comporte
Bien que les règles de réécriture soient permises du point de vue de
la syntaxe dans les sections Location et Files, elles n'y sont pas prises en compte, et
-n'y sont à priori d'aucune utilité.
+module="core">Files (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.
diff --git a/docs/manual/rewrite/advanced.xml.fr b/docs/manual/rewrite/advanced.xml.fr
index 73d5ef15a7..170a2ce848 100644
--- a/docs/manual/rewrite/advanced.xml.fr
+++ b/docs/manual/rewrite/advanced.xml.fr
@@ -3,7 +3,7 @@
-
+
+
@@ -647,4 +647,67 @@ fichier .htaccess
que dans une section
+
+Rewrite query string
+
+
+- Description :
+- Vous voulez extraire une valeur particulière d'une chaîne de
+paramètres d'une URL, et soit la remplacer, soit l'incorporer dans un
+autre composant de l'URL.
+
+- Solutions :
+-
+
Dans la plupart des solutions de cette section, on utilise la même
+condition qui stocke la valeur recherchée dans la référence arrière %2.
+%1 est le début de la requête, et %3 ce qui reste. Cette condition est
+un peu complexe car elle introduit de la flexibilité et évite les
+doubles perluettes '&&' dans les substitutions.
+
+ - Cette solution supprime le couple clé/valeur recherché :
+
+
+# Remove mykey=???
+RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
+RewriteRule (.*) $1?%1%3
+
+
+
+ - Cette solution remplace la partie de l'URL qui suit la valeur
+ recherchée par un '?' :
+
+
+# Copy from query string to PATH_INFO
+RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
+RewriteRule (.*) $1/products/%2/? [PT]
+
+
+
+ - Cette solution utilise la valeur recherchée dans une deuxième
+ condition ::
+
+
+# Capture the value of mykey in the query string
+RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
+RewriteCond %2 !=not-so-secret-value
+RewriteRule (.*) - [F]
+
+
+
+ - Cette solution produit l'effet inverse des précédentes ; elle
+ copie des composantes du chemin (peut-être PATH_INFO) depuis l'URL
+ vers sa chaîne de paramètres :
+
+# The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule ^/?path/([^/]+)/([^/]+) /path?$1=$2 [PT]
+
+
+
+
+
+
+
+
+