From 60f5a823872067dfcc7b6381c75e49a45ec4d4bc Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 1 Apr 2023 14:46:34 +0000 Subject: fr doc XML files updates. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908899 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_rewrite.xml.fr | 13 ++++- docs/manual/rewrite/flags.xml.fr | 107 +++++++++++++++++++++++++++---------- 2 files changed, 90 insertions(+), 30 deletions(-) diff --git a/docs/manual/mod/mod_rewrite.xml.fr b/docs/manual/mod/mod_rewrite.xml.fr index 8b7c3d907d..6c0b614e10 100644 --- a/docs/manual/mod/mod_rewrite.xml.fr +++ b/docs/manual/mod/mod_rewrite.xml.fr @@ -1,7 +1,7 @@ - + @@ -1463,6 +1463,17 @@ substitution ! d'appliquer la transformation. détails ... + + BCTLS + Identique à [B], mais n'échappe que les espaces et les caractères de + contrôle. détails ... + + + BNE + Les caractères de [B] ou [BCTLS] qui ne doivent pas + être échappés. détails + ... + backrefnoplus|BNP Avec ce drapeau, si les références arrières sont échappées, diff --git a/docs/manual/rewrite/flags.xml.fr b/docs/manual/rewrite/flags.xml.fr index b76d345b9a..0035df1f0d 100644 --- a/docs/manual/rewrite/flags.xml.fr +++ b/docs/manual/rewrite/flags.xml.fr @@ -1,7 +1,7 @@ - + @@ -133,6 +133,9 @@ module="mod_rewrite">RewriteRule et que l'espace ne doit pas RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]" +

Pour définir la liste des caractères à échapper de cette manière, voir flag_bne et flag_bctls

+
BNP|backrefnoplus (ne pas échapper @@ -143,9 +146,46 @@ espace en %20 au lieu de '+' dans les références arrières. Ceci s'avère utile lorsque la référence arrière est utilisée dans la partie chemin, et non dans les paramètres de la requête.</p> +<highlight language="config"> +# Échappe le caractère espace en %20 dans le chemin au lieu de + comme dans la +# soumission de formulaire à l'aide de la chaîne de paramètres +RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]" +</highlight> + <p>Ce drapeau est disponible à partir de la version 2.4.26 du serveur HTTP Apache.</p> +<section id="flag_bctls"><title>BCTLS +

Le drapeau [BCTLS] est similaire à [B], à la différence que seuls les espaces +et les caractères de contrôle sont échappés. Il s'agit du même jeu de caractères +rejetés lorsqu'ils sont copiés dans la chaîne de paramètres non codée. +

+ + +# Échappe les espaces et les caractères de contrôle +RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]" + + +

Ce drapeau est disponible à partir de la version 2.4.57 du serveur HTTP +Apache.

+ +
+ +
BNE +

Les caractères listés dans [BNE=...] sont exclus des listes de caractères +correspondant aux drapeaux [B] ou [BCTLS]. Ils ne seront donc pas échappés. +

+ + +# Échappe les caractères par défaut, sauf / +RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]" + + +

Ce drapeau est disponible à partir de la version 2.4.57 du serveur HTTP +Apache.

+ +
+
C|chain @@ -232,7 +272,7 @@ partir de la version 2.4.47 du serveur HTTP Apache. RewriteEngine On -RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.org:1440:/] +RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]

Dans l'exemple ci-dessus, la règle ne réécrit @@ -320,10 +360,10 @@ avec une valeur de '1' si l'URI de la requête correspond à un fichier image. Cette variable d'environnement est ensuite utilisée pour exclure une telle requête du journal des accès.

- -RewriteRule "\.(png|gif|jpg)" "-" [E=image:1]
-CustomLog "logs/access_log" combined env=!image -
+ +RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1] +CustomLog "logs/access_log" combined env=!image +

Notez que le même effet peut être obtenu à l'aide de la directive SetEnvIf. Cette technique @@ -350,7 +390,9 @@ Forbidden.

La règle suivante va interdire la téléchargement de fichiers .exe depuis votre serveur.

-RewriteRule "\.exe" "-" [F] + +RewriteRule "\.exe" "-" [F] +

Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune @@ -370,7 +412,9 @@ disponible auparavant ne l'est plus actuellement.

Comme dans le cas du drapeau [F], on utilise en général la syntaxe "-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :

-RewriteRule "oldproduct" "-" [G,NC] + +RewriteRule "oldproduct" "-" [G,NC] +

Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.

@@ -383,7 +427,9 @@ spécifié. Par exemple, on peut utiliser ce drapeau pour forcer l'interprétation de tous les fichiers sans extension par le gestionnaire php :

-RewriteRule "!\." "-" [H=application/x-httpd-php] + +RewriteRule "!\." "-" [H=application/x-httpd-php] +

L'expression rationnelle ci-dessus - !\. - correspond à @@ -459,8 +505,8 @@ module="mod_rewrite">RewriteRule sera sautée.

RewriteBase "/" -RewriteCond "%{REQUEST_URI}" "!=/index.php" -RewriteRule "^(.*)" "/index.php?req=$1" [L,PT] +RewriteCond "%{REQUEST_URI}" !=/index.php +RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
@@ -487,11 +533,11 @@ effectuer la substitution (c'est à dire, remplacer le A par un B).

A partir de la version 2.4.8, ce module renvoie une erreur après -32000 itérations afin d'éviter les boucles infinies. Ce nombre maximum +10000 itérations afin d'éviter les boucles infinies. Ce nombre maximum d'itération peut être modifié via le drapeau N.

# On veut remplacer 1 caractère à chaque itération de la boucle -RewriteRule "(.+)[><;]$" "$1" [N=64000] +RewriteRule "(.+)[><;]$" "$1" [N=32000] # ... ou s'arrêter après 10 itérations RewriteRule "(.+)[><;]$" "$1" [N=10] @@ -757,7 +803,9 @@ avertissements 'Invalid URI in request'. exécuter. La syntaxe du drapeau [S] est [S=N], où N correspond au nombre de règles à sauter (sous réserve que la règle RewriteRule corresponde). +module="mod_rewrite">RewriteRule corresponde et qu'au moins +une condition RewriteCond +préalable soit vérifiée). Ceci peut s'interpréter comme une instruction goto dans votre jeu de règles de réécriture. Dans l'exemple suivant, nous ne voulons exécuter la règle RewriteRule que si l'URI demandé ne correspond pas à un fichier existant.

# La requête concerne-t-elle un fichier qui n'existe pas ? -RewriteCond "%{REQUEST_FILENAME}" "!-f" -RewriteCond "%{REQUEST_FILENAME}" "!-d" +RewriteCond "%{REQUEST_FILENAME}" !-f +RewriteCond "%{REQUEST_FILENAME}" !-d # Si c'est la cas, on saute les deux règles de réécriture suivantes -RewriteRule ".?" "-" [S=2] +RewriteRule ".?" "-" [S=2] -RewriteRule "(.*\.gif)" "images.php?$1" -RewriteRule "(.*\.html)" "docs.php?$1" +RewriteRule "(.*\.gif)" "images.php?$1" +RewriteRule "(.*\.html)" "docs.php?$1" @@ -787,18 +835,19 @@ bloc then contiendra skip=N, où N est le nombre de règles contenues dans le bloc else :

# Est-ce que le fichier existe ? -RewriteCond "%{REQUEST_FILENAME}" "!-f" -RewriteCond "%{REQUEST_FILENAME}" "!-d" -# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza. -RewriteRule ".?" "-" [S=3] +RewriteCond "%{REQUEST_FILENAME}" !-f +RewriteCond "%{REQUEST_FILENAME}" !-d +# Créer une structure conditionnelle if-then-else en sautant 3 lignes si nous +# avions l'intention d'aller au bloc "else". +RewriteRule ".?" "-" [S=3] # Si le fichier existe, alors : -RewriteRule "(.*\.gif)" "images.php?$1" + RewriteRule "(.*\.gif)" "images.php?$1" RewriteRule "(.*\.html)" "docs.php?$1" - # Skip past the "else" stanza. - RewriteRule ".?" "-" [S=1] + # Passer le bloc "else". + RewriteRule ".?" "-" [S=1] # ELSE... -RewriteRule "(.*)" "404.php?file=$1 + RewriteRule "(.*)" "404.php?file=$1" # END @@ -820,7 +869,7 @@ certaine manière :

# Sert les fichier .pl en tant que plein texte -RewriteRule "\.pl$" "-" [T=text/plain] +RewriteRule "\.pl$" "-" [T=text/plain]

Ou encore, si vous possédez une caméra qui produit des fichiers @@ -829,7 +878,7 @@ avec le type MIME correct en se basant sur le nom du fichier :

# Les fichiers dont le nom contient 'IMG' sont des images jpg. -RewriteRule "IMG" "-" [T=image/jpg] +RewriteRule "IMG" "-" [T=image/jpg]

Notez cependant qu'il s'agit d'un exemple trivial, et que le problème -- cgit v1.2.1