From 6e090abfd04d3124f10a95fe33b3c1058d7b666f Mon Sep 17 00:00:00 2001
From: Daniel Gruno
Soit le terme de recherche 'x & y/z' ; un navigateur va le coder en 'x%20%26%20y%2Fz', transformant la requête en @@ -182,10 +182,10 @@ fonctionnalité.
Voici un exemple :
-Dans l'exemple ci-dessus, la règle ne réécrit pas la requête. La cible de réécriture "-" @@ -272,10 +272,10 @@ avec une valeur de '1' si l'URI de la requête correspond à un fichi image. Cette variable d'environnement est ensuite utilisée pour exclure une telle requête du journal des accès.
-Notez que le même effet peut être obtenu à l'aide de la directive
La règle suivante va interdire la téléchargement de fichiers
.exe depuis votre serveur.
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 @@ -324,9 +324,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] :
-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.
@@ -339,9 +339,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 : -
L'expression rationnelle ci-dessus - !\. - correspond à
@@ -354,9 +354,9 @@ faire en sorte que les fichiers .php soient
affichés par mod_php dans le cas où ils font
l'objet d'une requête avec l'extension .phps :
L'expression rationnelle ci-dessus -
@@ -415,11 +415,11 @@ module="mod_rewrite">RewriteCond permet de s'assurer que si
la requête concerne déjà index.php, la directive
Vous pouvez vous représenter ce traitement comme une boucle
while : tant que le modèle de la règle correspond (c'est à
@@ -460,9 +460,9 @@ transmise par Apache à votre serveur d'images dédié. La cor
insensible à la casse, si bien que par exemple, .jpg aussi
bien que .JPG seront acceptés.
Dans l'exemple ci-dessus, /anchor/xyz est réécrit en
@@ -518,9 +518,9 @@ mandataire. Par exemple, si vous voulez que toutes les requêtes d'images
soient traitées par un serveur d'images annexe, vous pouvez utiliser
une règle de ce style :
L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
autrement dit, la requête est immédiatement envoyée au mandataire, et
@@ -576,10 +576,10 @@ vous devez utiliser le drapeau [PT] pour être sûr que l'
Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait @@ -611,9 +611,9 @@ Avec le drapeau [QSA], les chaînes de requête peuvent être com
Considérons la règle suivante :
-Avec le drapeau [QSA], une requête pour
/pages/123?one=two sera réécrite en
@@ -695,16 +695,16 @@ l'exemple suivant, nous ne voulons exécuter la règle
Cette technique trouve son utilité dans le fait qu'une directive
RewriteRule avec le drapeau [Skip]. Cette
d'élaborer des pseudo-constructions if-then-else : la dernière règle du
bloc then contiendra skip=N, où N est le nombre de règles
contenues dans le bloc else :
Il est probablement plus aisé de définir ce genre de configuration
via les directives
Ou encore, si vous possédez une caméra qui produit des fichiers images jpeg sans extension, vous pouvez forcer le renvoi de ces images avec le type MIME correct en se basant sur le nom du fichier :
-Notez cependant qu'il s'agit d'un exemple trivial, et que le problème
aurait pu être résolu en utilisant à la place la directive
La chaîne de Substitution peut aussi contenir des références arrières vers des parties du chemin d'URL entrant correspondant au Modèle. Considérons ce qui suit :
-La variable $1 sera remplacée par tout texte
correspondant à l'expression située entre les parenthèses dans le
Modèle. Par exemple, une requête pour
@@ -280,9 +280,9 @@ présence d'un ou plusieurs drapeaux en fin de règle. Par exemple,
conditions de correspondance d'une règle peuvent être rendues
insensibles à la casse par la présence du drapeau [NC] :
Pour une liste des drapeaux disponibles, leurs significations, et des exemples, voir le document Drapeaux de @@ -312,10 +312,10 @@ correspondance est évaluée.
Par exemple, pour renvoyer toutes les requêtes en provenance d'une certaine tranche d'adresses IP vers un autre serveur, vous pouvez utiliser :
-Si vous spécifiez plus d'une directive
Notez que le point d'exclamation indique une correspondance négative ; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"
@@ -339,10 +339,10 @@ de la règle%1, %2, etc... Par
exemple, ce qui suit va diriger la requête vers un répertoire différent
en fonction du nom d'hôte utilisé pour accéder au site :
-Si la requête concernait http://example.com/foo/bar,
alors %1 contiendrait example.com et
$1 contiendrait foo/bar.