From c36752ff66db68216e3d5ab0a33809c70e8e5dfd Mon Sep 17 00:00:00 2001
From: Lucien Gentis
Date: Sun, 17 May 2015 15:17:40 +0000
Subject: [PATCH] XML updates.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1679873 13f79535-47bb-0310-9956-ffa450edef68
---
docs/manual/rewrite/access.xml.fr | 56 ++++++------
docs/manual/rewrite/advanced.xml.fr | 29 +++---
docs/manual/rewrite/avoid.xml.fr | 20 +++--
docs/manual/rewrite/flags.xml.fr | 72 ++++++++-------
docs/manual/rewrite/proxy.xml.fr | 16 ++--
docs/manual/rewrite/remapping.xml.fr | 123 +++++++++++++-------------
docs/manual/rewrite/rewritemap.xml.fr | 30 +++----
docs/manual/rewrite/vhosts.xml.fr | 42 ++++-----
8 files changed, 195 insertions(+), 193 deletions(-)
diff --git a/docs/manual/rewrite/access.xml.fr b/docs/manual/rewrite/access.xml.fr
index b1129245b2..02d3dc9356 100644
--- a/docs/manual/rewrite/access.xml.fr
+++ b/docs/manual/rewrite/access.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -89,27 +89,27 @@ correspondance
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ - [F,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]
Dans le second exemple, plutôt que de rejeter la requête,
nous affichons une autre image à la place.
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ /images/go-away.png [R,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]
Dans le troisième exemple, nous redirigeons la requête vers
une image appartenant à un autre site.
-RewriteCond %{HTTP_REFERER} !^$
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]
-RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]
De tous ces exemples, les deux derniers semblent les plus
@@ -127,8 +127,8 @@ RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]
parvenir sans utiliser mod_rewrite :
-SetEnvIf Referer example\.com localreferer
-<FilesMatch \.(jpg|png|gif)$>
+SetEnvIf Referer "example\.com" localreferer
+<FilesMatch "\.(jpg|png|gif)$">
Require env localreferer
</FilesMatch>
@@ -177,9 +177,9 @@ SetEnvIf Referer example\.com localreferer
spécifier un intervalle d'adresses IP.
-RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot
-RewriteCond %{REMOTE_ADDR} =123\.45\.67\.[8-9]
-RewriteRule ^/secret/files/ - [F]
+RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]
@@ -191,8 +191,8 @@ RewriteRule ^/secret/files/ - [F]
mod_rewrite via la méthode alternative suivante :
-SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
-<Location /secret/files>
+SetEnvIfNoCase User-Agent "^NameOfBadRobot" goaway
+<Location "/secret/files">
<RequireAll>
Require all granted
Require not env goaway
@@ -231,10 +231,10 @@ SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
RewriteEngine on
-RewriteMap hosts-deny txt:/path/to/hosts.deny
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ - [F]
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]
@@ -286,15 +286,15 @@ bsdti1.sdm.de -
associer chaque Referer à une cible de redirection.
-RewriteMap deflector txt:/path/to/deflector.map
+RewriteMap deflector "txt:/path/to/deflector.map"
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}} =-
-RewriteRule ^ %{HTTP_REFERER} [R,L]
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" "=-"
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
-RewriteCond %{HTTP_REFERER} !=""
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
-RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
Le fichier de correspondances contient les cibles de
diff --git a/docs/manual/rewrite/advanced.xml.fr b/docs/manual/rewrite/advanced.xml.fr
index 82b54dfb7a..14382293bb 100644
--- a/docs/manual/rewrite/advanced.xml.fr
+++ b/docs/manual/rewrite/advanced.xml.fr
@@ -3,7 +3,7 @@
-
+
+
@@ -101,13 +101,17 @@ rediriger toutes les URLs de niveaux inférieurs comme
Redirect /one/ http://one.example.com/
+
Pour rediriger un nom d'hôte vers un autre nom d'hôte, par exemple
+example.com
vers www.example.com
, voir la
+méthode Noms d'hôtes canoniques.
+
Pour rediriger les URLs http
vers https
,
utilisez cette définition :
<VirtualHost *:80>
ServerName www.example.com
-Redirect / https://www.example.com/
+Redirect "/" "https://www.example.com/"
</VirtualHost >
<VirtualHost *:443>
@@ -141,8 +145,8 @@ possible d'effectuer cette mise en correspondance avec
Alias
pour des raisons de simplicité et de performances.
Utilisation de la directive Alias
-Alias /cats
-/var/www/virtualhosts/felines/htdocs
+Alias "/cats"
+"/var/www/virtualhosts/felines/htdocs"
@@ -189,7 +193,7 @@ href="flags.html#flag_p">[P] qui permet de faire passer les URIs
réécrits par mod_proxy.
-RewriteRule ^/?images(.*) http://serveur-images.local/images$1 [P]
+RewriteRule "^/?images(.*)" "http://serveur-images.local/images$1" [P]
Cependant, dans les nombreux cas où aucune correspondance au modèle
@@ -199,7 +203,7 @@ module="mod_proxy">ProxyPass. L'exemple précédent pour
être remplacé par :
-ProxyPass /images/ http://serveur-images.local/images/
+ProxyPass "/images/" "http://serveur-images.local/images/"
Que vous utilisiez ProxyPassReverse pour intercepter les
redirections en provenance du serveur d'arrière-plan :
-ProxyPassReverse /images/ http://serveur-images.local/images/
+ProxyPassReverse "/images/" "http://serveur-images.local/images/"
Vous devrez cependant tout de même utiliser RewriteRule
@@ -237,7 +241,7 @@ suit :
<If "req('Host') != 'www.example.com'">
- Redirect / http://www.example.com
+ Redirect "/" "http://www.example.com"
</If>
diff --git a/docs/manual/rewrite/flags.xml.fr b/docs/manual/rewrite/flags.xml.fr
index e2fc117552..9cfa83b3af 100644
--- a/docs/manual/rewrite/flags.xml.fr
+++ b/docs/manual/rewrite/flags.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -83,7 +83,7 @@ ces dernières sont appliquées. Avec le drapeau B, les caract&egrav
non-alphanumériques des références arrières seront échappés. Considérons
par exemple cette règle :
-RewriteRule ^search/(.*)$ /search.php?term=$1
+RewriteRule "^search/(.*)$" "/search.php?term=$1"
Soit le terme de recherche 'x & y/z' ; un navigateur va le coder
en 'x%20%26%20y%2Fz', transformant la requête en
@@ -179,7 +179,7 @@ fonctionnalité.
RewriteEngine On
-RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.org:1440:/]
Dans l'exemple ci-dessus, la règle ne réécrit
@@ -268,8 +268,8 @@ 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
@@ -297,7 +297,7 @@ 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
@@ -317,7 +317,7 @@ 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.
@@ -330,8 +330,7 @@ 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 à
@@ -345,7 +344,7 @@ faire en sorte que les fichiers .php
soient
l'objet d'une requête avec l'extension .phps
:
-RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
+RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]
@@ -406,9 +405,9 @@ la requête concerne déjà index.php
, la directiv
module="mod_rewrite">RewriteRule sera sautée.
-RewriteBase /
-RewriteCond %{REQUEST_URI} !=/index.php
-RewriteRule ^(.*) /index.php?req=$1 [L,PT]
+RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" "!=/index.php"
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
@@ -426,7 +425,7 @@ suivant, chaque occurence de A sera remplacée par B dans la requête
ceci jusqu'il n'y ait plus de A à remplacer.
-RewriteRule (.*)A(.*) $1B$2 [N]
+RewriteRule "(.*)A(.*)" "$1B$2" [N]
Vous pouvez vous représenter ce traitement comme une boucle
while
: tant que le modèle de la règle correspond (c'est à
@@ -439,9 +438,9 @@ un B
).
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=64000]
# ... ou s'arrêter après 10 itérations
-RewriteRule (.+)[><;]$ $1 [N=10]
+RewriteRule "(.+)[><;]$" "$1" [N=10]
@@ -458,7 +457,7 @@ 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.
-RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
+RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]
NE|noescape
@@ -467,7 +466,7 @@ bien que .JPG
seront acceptés.
hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
-RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]
+RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]
Dans l'exemple ci-dessus, /anchor/xyz
est réécrit en
@@ -512,7 +511,7 @@ 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 :
-RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]
+RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]
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
@@ -579,8 +578,8 @@ module="mod_alias">Alias sera bien évalué.
-Alias /icons /usr/local/apache/icons
-RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]
+Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]
@@ -613,8 +612,7 @@ Avec le drapeau [QSA], les chaînes de requête peuvent être com
Considérons la règle suivante :
-RewriteRule /pages/(.+) /page.php?page=$1
-[QSA]
+RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
Avec le drapeau [QSA], une requête pour
/pages/123?one=two
sera réécrite en
@@ -697,13 +695,13 @@ module="mod_rewrite">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"
@@ -719,18 +717,18 @@ bloc then contiendra skip=N
, où N est le nombre de rè
contenues dans le bloc else :
# Est-ce que le fichier existe ?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+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]
+RewriteRule ".?" "-" [S=3]
# Si le fichier existe, alors :
-RewriteRule (.*\.gif) images.php?$1
- RewriteRule (.*\.html) docs.php?$1
+RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
# Skip past the "else" stanza.
- RewriteRule .? - [S=1]
+ RewriteRule ".?" "-" [S=1]
# ELSE...
-RewriteRule (.*) 404.php?file=$1
+RewriteRule "(.*)" "404.php?file=$1
# END
@@ -752,7 +750,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
@@ -761,7 +759,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
diff --git a/docs/manual/rewrite/proxy.xml.fr b/docs/manual/rewrite/proxy.xml.fr
index 92cd66d868..c169597aa7 100644
--- a/docs/manual/rewrite/proxy.xml.fr
+++ b/docs/manual/rewrite/proxy.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -72,9 +72,9 @@ correspondance
RewriteEngine on
-RewriteBase /produits/
-RewriteRule ^widget/(.*)$ http://produits.example.com/widget/$1 [P]
-ProxyPassReverse /produits/objet/ http://produits.example.com/objet/
+RewriteBase "/produits/"
+RewriteRule "^widget/(.*)$" "http://produits.example.com/widget/$1" [P]
+ProxyPassReverse "/produits/objet/" "http://produits.example.com/objet/"
Dans le deuxième exemple, nous ne mandatons la requête que si nous
@@ -84,10 +84,10 @@ ProxyPassReverse /produits/objet/ http://produits.example.com/objet/
migré.
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^/(.*) http://ancien.exemple.com/$1 [P]
-ProxyPassReverse / http://ancien.exemple.com/
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://ancien.exemple.com/$1" [P]
+ProxyPassReverse "/" "http://ancien.exemple.com/"
diff --git a/docs/manual/rewrite/remapping.xml.fr b/docs/manual/rewrite/remapping.xml.fr
index 265b3e83a2..94962af812 100644
--- a/docs/manual/rewrite/remapping.xml.fr
+++ b/docs/manual/rewrite/remapping.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -78,7 +78,7 @@ correspondance-->
RewriteEngine on
-RewriteRule ^/foo\.html$ /bar.html [PT]
+RewriteRule "^/foo\.html$" "/bar.html" [PT]
@@ -111,7 +111,7 @@ RewriteRule ^/foo\.html$ /bar.html [PT]
RewriteEngine on
-RewriteRule ^foo\.html$ bar.html [R]
+RewriteRule "^foo\.html$" "bar.html" [R]
@@ -123,7 +123,7 @@ RewriteRule ^foo\.html$ bar.html [
- Redirect /foo.html /bar.html
+ Redirect "/foo.html" "/bar.html"
@@ -153,15 +153,15 @@ RewriteRule ^foo\.html$ bar.html [#Avec mod_rewrite
RewriteEngine on
-RewriteRule ^/docs/(.+) http://nouveau.example.com/docs/$1 [R,L]
+RewriteRule "^/docs/(.+)" "http://nouveau.example.com/docs/$1" [R,L]
#Avec RedirectMatch
-RedirectMatch ^/docs/(.*) http://nouveau.example.com/docs/$1
+RedirectMatch "^/docs/(.*)" "http://nouveau.example.com/docs/$1"
#Avec Redirect
-Redirect /docs/ http://nouveau.example.com/docs/
+Redirect "/docs/" "http://nouveau.example.com/docs/"
@@ -196,8 +196,8 @@ Redirect /docs/ http://nouveau.example.com/docs/
RewriteEngine on
-RewriteBase /~quux/
-RewriteRule ^foo\.html$ foo.cgi [H=cgi-script]
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=cgi-script]
@@ -234,13 +234,13 @@ RewriteRule ^foo\.html$ foo.cgi [H=cgi-script]
# jeu de règles assurant une compatibilité ascendante en réécrivant
# document.html en document.php si et seulement si document.php
# existe
-<Directory /var/www/htdocs>
+<Directory "/var/www/htdocs">
RewriteEngine on
- RewriteBase /var/www/htdocs
+ RewriteBase "/var/www/htdocs"
- RewriteCond $1.php -f
- RewriteCond $1.html !-f
- RewriteRule ^(.*).html$ $1.php
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
</Directory>
@@ -295,7 +295,7 @@ une section de serveur virtuel pour le/les noms d'hôte non canoniques.
ServerName undesired.example.com
ServerAlias example.com notthis.example.com
- Redirect / http://www.example.com/
+ Redirect "/" "http://www.example.com/"
</VirtualHost>
<VirtualHost *:80>
@@ -308,7 +308,7 @@ type="section">If :
<If "%{HTTP_HOST} != 'www.example.com'">
- Redirect / http://www.example.com/
+ Redirect "/" "http://www.example.com/"
</If>
@@ -317,7 +317,7 @@ type="section">If :
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
- Redirect /admin/ https://www.example.com/admin/
+ Redirect "/admin/" "https://www.example.com/admin/"
</If>
@@ -328,17 +328,17 @@ la recette suivante :
Pour les sites écoutant sur un port autre que 80:
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteCond %{SERVER_PORT} !^80$
-RewriteRule ^/?(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
Et pour un site écoutant sur le port 80
-RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]
Si vous souhaitez que cette règle s'applique à tous les noms de
@@ -349,9 +349,9 @@ RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
le jeu de règles suivants :
-RewriteCond %{HTTP_HOST} !^www\. [NC]
-RewriteCond %{HTTP_HOST} !^$
-RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
+RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]
Vous pouvez utiliser ce jeu de règles aussi bien dans le fichier
@@ -392,17 +392,17 @@ RewriteEngine on
# on cherche tout d'abord dans dir1/...
# ... et si on trouve, on est content et on arrête :
-RewriteCond %{DOCUMENT_ROOT}/dir1/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/dir1/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/dir1/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/dir1/$1" [L]
# on cherche ensuite dans dir2/...
# ... et si on trouve, on est content et on arrête :
-RewriteCond %{DOCUMENT_ROOT}/dir2/%{REQUEST_URI} -f
-RewriteRule ^(.+) %{DOCUMENT_ROOT}/dir2/$1 [L]
+RewriteCond "%{DOCUMENT_ROOT}/dir2/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/dir2/$1" [L]
# sinon, on continue la recherche avec d'autres directives Alias
# ou ScriptAlias, etc...
-RewriteRule ^ - [PT]
+RewriteRule "^" "-" [PT]
@@ -436,9 +436,9 @@ RewriteRule ^ - [PT]
HostnameLookups on
RewriteEngine on
-RewriteMap multiplex txt:/path/to/map.mirrors
-RewriteCond %{REMOTE_HOST} ([a-z]+)$ [NC]
-RewriteRule ^/(.*)$ ${multiplex:%1|http://www.example.com/}$1 [R,L]
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$ [NC]"
+RewriteRule "^/(.*)$" "${multiplex:%1|http://www.example.com/}$1" [R,L]
@@ -494,14 +494,14 @@ com http://www.example.com/
reçoivent la page foo.32.html
. Tout ceci est
effectué par le jeu de règles suivant :
-RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.*
-RewriteRule ^foo\.html$ foo.NS.html [L]
+RewriteCond "%{HTTP_USER_AGENT}" "^Mozilla/3.*"
+RewriteRule "^foo\.html$" "foo.NS.html" [L]
-RewriteCond %{HTTP_USER_AGENT} ^Lynx/ [OR]
-RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12]
-RewriteRule ^foo\.html$ foo.20.html [L]
+RewriteCond "%{HTTP_USER_AGENT}" "^Lynx/" [OR]
+RewriteCond "%{HTTP_USER_AGENT}" "^Mozilla/[12]"
+RewriteRule "^foo\.html$" "foo.20.html" [L]
-RewriteRule ^foo\.html$ foo.32.html [L]
+RewriteRule "^foo\.html$" "foo.32.html" [L]
@@ -533,14 +533,14 @@ RewriteRule ^foo\.html$ foo.32.html [L
jeu de règles suivant, nous remplaçons /matous
et
/minettes
par le canonique /chats
.
- RewriteRule ^/(matous|minettes)/(.*) /chats/$2 [R]
+ RewriteRule "^/(matous|minettes)/(.*)" "/chats/$2" [R]
Discussion :
On serait mieux inspiré d'utiliser ici les directives Redirect ou
RedirectMatch :
- RedirectMatch ^/(matous|minettes)/(.*) /chats/$2
+ RedirectMatch "^/(matous|minettes)/(.*)" "/chats/$2"
@@ -573,14 +573,13 @@ suivant :
RewriteEngine on
-RewriteRule ^/$ /a-propos-de/ [R]
+RewriteRule "^/$" "/a-propos-de/" [R]
Notez que l'on peut aussi y parvenir en utilisant la directive
RedirectMatch :
-RedirectMatch ^/$
-http://example.com/a-propos-de/
+RedirectMatch "^/$" "http://example.com/a-propos-de/"
Notez aussi que cet exemple ne réécrit que l'URL racine. En d'autres
termes, il réécrit une requête pour http://example.com/
,
@@ -612,8 +611,8 @@ existant effectivement comme une image, ou un fichier css.
FallbackResource :
-<Directory /var/www/my_blog>
- FallbackResource index.php
+<Directory "/var/www/my_blog">
+ FallbackResource "index.php"
</Directory>
@@ -622,12 +621,12 @@ les versions plus anciennes d'Apache, utiliser un jeu de règles du style
:
-<Directory /var/www/my_blog>
- RewriteBase /my_blog
+<Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-f
- RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-d
- RewriteRule ^ index.php [PT]
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
</Directory>
@@ -635,7 +634,7 @@ les versions plus anciennes d'Apache, utiliser un jeu de règles du style
que chaîne de paramètres à index.php, vous pouvez remplacer cette règle
de réécriture par :
-RewriteRule (.*) index.php?$1 [PT,QSA]
+RewriteRule "(.*)" "index.php?$1" [PT,QSA]
Notez que l'on peut utiliser ces jeux de règles aussi bien dans un
fichier .htaccess
que dans une section
@@ -668,8 +667,8 @@ doubles perluettes '&&' dans les substitutions.
# Remove mykey=???
-RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
-RewriteRule (.*) $1?%1%3
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"
@@ -678,8 +677,8 @@ RewriteRule (.*) $1?%1%3
# Copy from query string to PATH_INFO
-RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
-RewriteRule (.*) $1/products/%2/? [PT]
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]
@@ -688,9 +687,9 @@ RewriteRule (.*) $1/products/%2/? [PT]
# Capture the value of mykey in the query string
-RewriteCond %{QUERY_STRING} (.*(?:^|&))mykey=([^&]*)&?(.*)&?$
-RewriteCond %2 !=not-so-secret-value
-RewriteRule (.*) - [F]
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$""
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" - [F]
@@ -700,7 +699,7 @@ RewriteRule (.*) - [F]
# The desired URL might be /products/kitchen-sink, and the script expects
# /path?products=kitchen-sink.
-RewriteRule ^/?path/([^/]+)/([^/]+) /path?$1=$2 [PT]
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
diff --git a/docs/manual/rewrite/rewritemap.xml.fr b/docs/manual/rewrite/rewritemap.xml.fr
index 86c2fdec36..1d1e6b6865 100644
--- a/docs/manual/rewrite/rewritemap.xml.fr
+++ b/docs/manual/rewrite/rewritemap.xml.fr
@@ -1,7 +1,7 @@
-
+
+
@@ -83,8 +83,8 @@ RewriteEngine on
RewriteMap lowercase int:tolower
-RewriteCond ${lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.example\.com$
-RewriteRule ^(.*) /home/%1/www$1
+RewriteCond "${lowercase:%{HTTP_HOST}}" "^www\.([^.]+)\.example\.com$"
+RewriteRule "^(.*)" "/home/%1/www$1"
Discussion
@@ -147,9 +147,9 @@ UseCanonicalName Off
# journaux dissociables
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
-CustomLog logs/access_log vcommon
+CustomLog "logs/access_log" vcommon
-<Directory /www/hosts>
+<Directory "/www/hosts">
# ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
# des CGI à la manière de ScriptAlias
Options FollowSymLinks ExecCGI
@@ -161,17 +161,17 @@ RewriteEngine On
# quelle casse
## on s'occupe tout d'abord des documents normaux :
-# permet à "Alias /icons/" de fonctionner - répéter pour les autres
-RewriteCond %{REQUEST_URI} !^/icons/
+# permet à Alias "/icons/" de fonctionner - répéter pour les autres
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
# permet aux CGIs de fonctionner
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
# le coeur du traitement
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un
# gestionnaire
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]
@@ -202,20 +202,20 @@ RewriteEngine on
RewriteMap lowercase int:tolower
# définit le fichier de correspondances
-RewriteMap vhost txt:/www/conf/vhost.map
+RewriteMap vhost "txt:/www/conf/vhost.map"
# on s'occupe des alias comme ci-dessus
-RewriteCond %{REQUEST_URI} !^/icons/
-RewriteCond %{REQUEST_URI} !^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
# on effectue ici la remise en correspondance à base de fichier
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/docs/$1
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
-RewriteCond %{REQUEST_URI} ^/cgi-bin/
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
-RewriteCond ${vhost:%1} ^(/.*)$
-RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]
--
2.40.0