Les filtres de mise en tampon lisent la
diff --git a/docs/manual/mod/mod_cache.xml.fr b/docs/manual/mod/mod_cache.xml.fr
index 2e01d9d81a..e9c205c516 100644
--- a/docs/manual/mod/mod_cache.xml.fr
+++ b/docs/manual/mod/mod_cache.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -128,6 +128,12 @@
htcacheclean permet de lister et de supprimer les
URLs mises en cache, et de maintenir le cache en deçà de
certaines limites de taille et de nombre d'inodes.
+ mod_cache_socache
+ Implémente un gestionnaire de stockage basé sur un cache d'objets
+ partagés. Les en-têtes et corps sont stockés ensemble sous une seule
+ clé basée sur l'URL de la réponse mise en cache. Des réponses à
+ contenus multiples négociés peuvent être stockées simultanément, mais
+ ce module ne supporte pas la mise en cache de contenus partiels.
Pour de plus amples détails, une description, et des exemples,
@@ -140,7 +146,7 @@ cache
Exemple de configuration
Extrait de httpd.conf
- #
- # Exemple de configuration du cache
- #
- LoadModule cache_module modules/mod_cache.so
-
- <IfModule mod_cache.c>
-
- LoadModule disk_cache_module modules/mod_cache_disk.so
- <IfModule mod_cache_disk.c>
-
- CacheRoot c:/cacheroot
- CacheEnable disk /
- CacheDirLevels 5
- CacheDirLength 3
-
- </IfModule>
-
- # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
- # des mises à jour de sécurité
- CacheDisable http://security.update.server/update-list/
-
- </IfModule>
+
+#
+# Exemple de configuration du cache
+#
+LoadModule cache_module modules/mod_cache.so
+<IfModule mod_cache.c>
+ LoadModule cache_disk_module modules/mod_cache_disk.so
+ <IfModule mod_cache_disk.c>
+ CacheRoot c:/cacheroot
+ CacheEnable disk /
+ CacheDirLevels 5
+ CacheDirLength 3
+ </IfModule>
+
+ # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
+# des mises à jour de sécurité
+ CacheDisable http://security.update.server/update-list/
+</IfModule>
+
@@ -241,16 +250,16 @@ cache
Exemple de configuration
Activation du verrouillage du cache
- #
- # Active le verrouillage du cache
- #
- <IfModule mod_cache.c>
-
- CacheLock on
- CacheLockPath /tmp/mod_cache-lock
- CacheLockMaxAge 5
-
- </IfModule>
+
+#
+# Active le verrouillage du cache
+#
+<IfModule mod_cache.c>
+ CacheLock on
+ CacheLockPath /tmp/mod_cache-lock
+ CacheLockMaxAge 5
+</IfModule>
+
@@ -290,11 +299,11 @@ cache
avant le filtre DEFLATE comme dans l'exemple suivant
:
-
- # Mise en cache du contenu avant la compression optionnelle
- CacheQuickHandler off
- AddOutputFilterByType CACHE;DEFLATE text/plain
-
+
+# Mise en cache du contenu avant la compression optionnelle
+CacheQuickHandler off
+AddOutputFilterByType CACHE;DEFLATE text/plain
+
Une autre possibilité consiste à mettre en cache le contenu avant
l'ajout de contenu personnalisé via mod_include (ou
@@ -303,24 +312,24 @@ cache
mod_include sont mis en cache avant d'être
interprétés :
-
- # Mise en cache du contenu avant l'intervention de mod_include et
- # mod_deflate
- CacheQuickHandler off
- AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
-
+
+# Mise en cache du contenu avant l'intervention de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+
Vous pouvez insérer le filtre CACHE en tout point
de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
en cache après avoir été interprété par mod_include,
mais avant d'être traité par mod_deflate :
-
- # Mise en cache du contenu entre les interventions de mod_include et
- # mod_deflate
- CacheQuickHandler off
- AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
-
+
+# Mise en cache du contenu entre les interventions de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
+
Avertissement :Si pour une raison
ou pour une autre, le point d'insertion du filtre
@@ -339,12 +348,12 @@ cache
Cette information peut être journalisée via la directive LogFormat comme suit :
-
+
LogFormat "%{cache-status}e ..."
-
+
En fonction de la décision prise, l'information est aussi écrite
- dans l'environnement du sous-processus sous une des trois clés
+ dans l'environnement du sous-processus sous une des quatre clés
suivantes :
@@ -353,17 +362,20 @@ cache
mis à jour avec succès, puis servi depuis le cache.
- cache-miss
- Le contenu n'était pas dans le cache et a été
servi directement depuis le serveur demandé.
+ - cache-invalidate
- L'entité du cache est devenue invalide
+ suite à une requête d'un type autre que GET ou HEAD.
Il est alors possible d'envisager une journalisation conditionnelle
du traitement des requêtes par rapport au cache comme dans l'exemple
suivant :
-
- CustomLog requetes-depuis-cache.log common env=cache-hit
- CustomLog requetes-hors-cache.log common env=cache-miss
- CustomLog requetes-avec-mise-a-jour-du-cache.log common env=cache-revalidate
-
+
+CustomLog cached-requests.log common env=cache-hit
+CustomLog uncached-requests.log common env=cache-miss
+CustomLog revalidated-requests.log common env=cache-revalidate
+CustomLog invalidated-requests.log common env=cache-invalidate
+
Pour les concepteurs de modules, une accroche (hook) nommée
cache_status est disponible et permet aux modules de
@@ -394,7 +406,11 @@ URL]
contenu considéré peut être mis en cache. Si type de cache
a pour valeur disk
, mod_cache
utilisera le gestionnaire de stockage sur disque implémenté par
- mod_cache_disk.
+ mod_cache_disk. Pour que mod_cache
+ utilise le gestionnaire de stockage basé sur le cache d'objets
+ partagés implémenté par mod_cache_socache,
+ spécifiez socache
comme valeur du paramètre type
+ de cache.
Si les différentes directives CacheEnable
spécifient des URLs qui se recoupent (comme dans l'exemple
ci-dessous), tous les gestionnaires de stockage possibles seront
@@ -415,26 +431,26 @@ URL]
et des protocoles de mandat pour lesquels la mise en cache devra
être activée.
-
- # Mise en cache de contenu
- <Location /foo>
-
- CacheEnable disk
-
- </Location>
- # Mise en cache via une expression rationnelle
- <LocationMatch foo$>
-
- CacheEnable disk
-
- </LocationMatch>
- # Mise en cache des URLs mandatées
- CacheEnable disk /
- # Mise en cache des URLs FTP mandatées
- CacheEnable disk ftp://
- # Mise en cache des contenus situés dans www.example.org
- CacheEnable disk http://www.example.org/
-
+
+# Mise en cache de contenu
+<Location /foo>
+ CacheEnable disk
+</Location>
+
+# Mise en cache via une expression rationnelle
+<LocationMatch foo$>
+ CacheEnable disk
+</LocationMatch>
+
+# Mise en cache des URLs mandatées
+CacheEnable disk /
+
+# Mise en cache des URLs FTP mandatées
+CacheEnable disk ftp://
+
+# Mise en cache des contenus situés dans www.example.org
+CacheEnable disk http://www.example.org/
+
Un nom d'hôte commençant par un caractère "*"
correspondra à tout nom d'hôte se terminant par le suffixe
@@ -442,12 +458,12 @@ URL]
"." correspondra à tout nom d'hôte contenant le
composant de nom de domaine qui suit ce caractère.
-
- # Correspond à www.example.org et fooexample.org
- CacheEnable disk http://*example.org/
- # Correspond à www.example.org, mais pas à fooexample.org
- CacheEnable disk http://.example.org/
-
+
+# Correspond à www.example.org et fooexample.org
+CacheEnable disk http://*example.org/
+# Correspond à www.example.org, mais pas à fooexample.org
+CacheEnable disk http://.example.org/
+
Depuis la version 2.2.12, on peut définir la variable
d'environnement no-cache
pour une définition plus fine
@@ -474,7 +490,9 @@ spécifiées
inférieurs.
Exemple
+
CacheDisable /fichiers_locaux
+
Si la directive se trouve à l'intérieur d'une section
par la section Location.
Exemple
- <Location /foo>
-
- CacheDisable on
-
- </Location>
+
+<Location /foo>
+ CacheDisable on
+</Location>
+
Avec les versions 2.2.12 et ultérieures, on peut définir la
@@ -517,9 +535,10 @@ document
sera pas à jour. L'utilisation de cette valeur maximale est forcée,
même si le document possède une date d'expiration.
-
+
CacheMaxExpire 604800
-
+
+
@@ -541,9 +560,9 @@ document
que dans le cas où le document ne possède aucune date d'expiration
valide.
-
+
CacheMinExpire 3600
-
+
@@ -566,9 +585,9 @@ lorsqu'aucune date d'expiration n'a été spécifiée.
CacheMaxExpire si cette dernière est
utilisée.
-
+
CacheDefaultExpire 86400
-
+
@@ -597,9 +616,9 @@ Modified.
d'expiration.
-
+
CacheIgnoreNoLastMod On
-
+
@@ -623,9 +642,9 @@ le contenu au client depuis le cache
Les ressources qui requièrent une autorisation ne seront
jamais mises en cache.
-
+
CacheIgnoreCacheControl On
-
+
Avertissement :
Cette directive permet de servir des ressources depuis le cache,
@@ -659,9 +678,9 @@ cache
traitée comme si elle ne possèdait pas de chaîne de paramètres
lorsque cette directive est activée.
-
+
CacheIgnoreQueryString On
-
+
@@ -698,9 +717,9 @@ fonction de la date de dernière modification.
directive CacheMaxExpire, c'est ce dernier
qui l'emporte.
-
+
CacheLastModifiedFactor 0.5
-
+
@@ -745,11 +764,15 @@ fonction de la date de dernière modification.
None
.
Exemple 1
+
CacheIgnoreHeaders Set-Cookie
+
Exemple 2
+
CacheIgnoreHeaders None
+
Avertissement :
@@ -793,11 +816,15 @@ l'URL lors de la mise en cache
ajouté à la liste.
Exemple 1
+
CacheIgnoreURLSessionIdentifiers jsessionid
+
Exemple 2
+
CacheIgnoreURLSessionIdentifiers None
+
@@ -823,9 +850,10 @@ considère comme arrivées à expiration
de la part du serveur d'origine, et la réponse sera renvoyée à
partir du cache si la ressource d'arrière-plan n'a pas été modifiée.
-
+
CacheStoreExpired On
-
+
+
@@ -850,9 +878,11 @@ marquées comme privées
nécessitant une autorisation ne sont jamais mises en
cache.
-
+
+
CacheStorePrivate On
-
+
+
Avertissement :
Cette directive autorise la mise en cache même si le serveur
@@ -886,9 +916,11 @@ l'entête Cache-Control: a pour valeur no-store.
nécessitant une autorisation ne sont jamais mises en
cache.
-
+
+
CacheStoreNoStore On
-
+
+
Avertissement :
Selon la RFC 2616, la valeur d'en-tête no-store est censée
@@ -921,10 +953,10 @@ l'entête Cache-Control: a pour valeur no-store.
tempêtes de requêtes dans le répertoire temp par défaut du système est
la suivante :
-
- # Active le verrouillage du cache
- CacheLock on
-
+
+# Active le verrouillage du cache
+CacheLock on
+
@@ -975,7 +1007,7 @@ l'entête Cache-Control: a pour valeur no-store.
CacheQuickHandler on
server configvirtual host
- Disponible à partir de la version 2.3.3 du serveur HTTP
+ Disponible à partir de la version 2.3.3 du serveur HTTP
Apache
@@ -997,22 +1029,22 @@ l'entête Cache-Control: a pour valeur no-store.
traitement complet de la requête est nécessaire, comme par exemple
lorsque le contenu est soumis à autorisation.
-
- # Exécute le cache comme un gestionnaire normal
- CacheQuickHandler off
-
+
+# Exécute le cache comme un gestionnaire normal
+CacheQuickHandler off
+
Lorsque le gestionnaire rapide est désactivé, l'administrateur a
aussi la possibilité de choisir avec précision le point de la chaîne
de filtrage où la mise en cache sera effectuée, en utilisant le
filtre CACHE.
-
- # Mise en cache du contenu avant l'intervention de mod_include et
- # mod_deflate
- CacheQuickHandler off
- AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
-
+
+# Mise en cache du contenu avant l'intervention de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+
Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière
instance qui sera prise en compte.
@@ -1053,14 +1085,15 @@ l'entête Cache-Control: a pour valeur no-store.
depuis le cache, mais directement depuis le serveur demandé.
-
- # Active l'en-tête X-Cache
- CacheHeader on
-
+
+# Active l'en-tête X-Cache
+CacheHeader on
+
-
- X-Cache: HIT from localhost
-
+
+ X-Cache: HIT from localhost
+
+
@@ -1098,10 +1131,10 @@ l'entête Cache-Control: a pour valeur no-store.
rapide qui est utilisé, elle doit se situer dans un contexte de
serveur principal ou de serveur virtuel, sinon elle sera ignorée.
-
- # Active l'en-tête X-Cache-Detail
- CacheDetailHeader on
-
+
+# Active l'en-tête X-Cache-Detail
+CacheDetailHeader on
+
X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost
@@ -1131,10 +1164,10 @@ inverse
machines, si toutes les entrées du cache doivent posséder la même clé,
cette directive permet de spécifier une nouvelle URL de base.
-
- # Remplace l'URL de base de la clé de cache.
- CacheKeyBaseURL http://www.example.com/
-
+
+# Remplace l'URL de base de la clé de cache.
+CacheKeyBaseURL http://www.example.com/
+
Prenez garde en définissant cette directive. Si
deux serveurs virtuels distincts possèdent accidentellement la même
@@ -1167,10 +1200,10 @@ inverse
réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
cache.
-
- # Sert des données non mises à jour en cas d'erreur.
- CacheStaleOnError on
-
+
+# Sert des données non mises à jour en cas d'erreur.
+CacheStaleOnError on
+
diff --git a/docs/manual/mod/mod_info.xml.fr b/docs/manual/mod/mod_info.xml.fr
index ec20b3283f..a0050aff12 100644
--- a/docs/manual/mod/mod_info.xml.fr
+++ b/docs/manual/mod/mod_info.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -35,27 +35,23 @@ serveur
Pour activer mod_info, ajoutez les lignes
suivantes à votre fichier httpd.conf
.
-
- <Location /infos-serveur>
-
- SetHandler server-info
-
- </Location>
-
+
+<Location /server-info>
+ SetHandler server-info
+</Location>
+
Il est recommandé d'utiliser mod_access à
l'intérieur de la section Location afin de restreindre l'accès aux
informations de configuration de votre serveur :
-
- <Location /infos-serveur>
-
- SetHandler server-info
- Require host example.com
-
- </Location>
-
+
+<Location /server-info>
+ SetHandler server-info
+ Require host example.com
+</Location>
+
Une fois cette configuration effectuée, les informations du
serveur sont disponibles à l'adresse
@@ -82,17 +78,17 @@ serveur
serveur.
Contrôle d'accès
- <Location /infos-serveur>
-
- SetHandler server-info
- Order allow,deny
- # Autorisation d'accès depuis le serveur lui-même
- Allow from 127.0.0.1
- # Autorisation d'accès depuis une station de travail du réseau
- # local
- Allow from 192.168.1.17
-
- </Location>
+
+<Location /server-info>
+ SetHandler server-info
+ Order allow,deny
+ # Autorisation d'accès depuis le serveur lui-même
+ Allow from 127.0.0.1
+ # Autorisation d'accès depuis une station de travail du réseau
+# local
+ Allow from 192.168.1.17
+</Location>
+
@@ -180,13 +176,11 @@ module affichées par le gestionnaire server-info
en tant qu'Information supplémentaire interprétée
en HTML pour le module nom-module. Exemple :
-
- AddModuleInfo mod_deflate.c 'Voir <a \
-
- href="http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html">\
- http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html</a>'
-
-
+
+AddModuleInfo mod_deflate.c 'See <a \
+ href="http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html">\
+ http://www.apache.org/docs/&httpd.docs;/mod/mod_deflate.html</a>'
+
diff --git a/docs/manual/mod/mod_rewrite.xml.fr b/docs/manual/mod/mod_rewrite.xml.fr
index 23bddc083d..f2df19d9d6 100644
--- a/docs/manual/mod/mod_rewrite.xml.fr
+++ b/docs/manual/mod/mod_rewrite.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -80,7 +80,9 @@ règles permettant de réécrire les URLs des requêtes
Exemple
+
LogLevel alert rewrite:trace3
+
RewriteLog
@@ -265,16 +267,16 @@ bases de données depuis la version 2.0.41 du serveur HTTP ApachePar exemple, vous pouvez définir une directive
RewriteMap comme suit
-
+
RewriteMap map-exemple txt:/chemin/vers/fichier/map.txt
-
+
Vous pourrez ensuite utiliser cette table dans une
directive RewriteRule comme suit :
-
+
RewriteRule ^/ex/(.*) ${map-exemple:$1}
-
+
Les combinaisons suivantes pour type de correspondance
et source de la correspondance
@@ -330,51 +332,43 @@ répertoire
FileInfo
- La directive RewriteBase définit
- explicitement le chemin URL de base (et non le chemin du
- répertoire dans le système de fichiers !) pour les réécritures dans un contexte
- de répertoire dont le résultat est la substitution d'un
- chemin relatif. Lorsque vous utilisez une directive RewriteRule dans un fichier
- .htaccess
, mod_rewrite enlève le
- préfixe de répertoire local avant d'effectuer le traitement, puis
- réécrit ce qui reste de l'URL. Lorsque la réécriture est terminée,
- mod_rewrite ajoute automatiquement le préfixe de
- répertoire local (ou la valeur de la directive
- RewriteBase si cette dernière est définie)
- à la chaîne de substitution avant de la remettre à disposition du
- serveur, comme s'il s'agissait de l'URL d'origine.
-
- Cette directive est requise pour les réécritures
- dans un contexte de répertoire défini via la directive
- Alias lorsque la
- substitution utilise un chemin relatif.
-
- Si votre chemin URL n'existe pas réellement dans le système de
- fichiers, ou ne trouve pas directement sous le répertoire défini
- par la directive DocumentRoot, vous devez utiliser la
- directive RewriteBase dans chaque fichier
- .htaccess
où vous voulez utiliser des directives RewriteRule.
-
- L'exemple ci-dessous montre comment faire correspondre
- http://example.com/mon-appli/index.html à
- /home/www/exemple/nouveau_site.html dans un fichier
- .htaccess
. On suppose que le contenu disponible à
- http://example.com/ se situe sur le disque à
- /home/www/exemple/.
-
-
-
-RewriteEngine On
-# Le chemin URL utilisé pour arriver dans ce contexte, et non le chemin
-# du système de fichiers
-RewriteBase /mon-appli/
-RewriteRule ^index\.html$ nouveau_site.html
-
-
+ La directive RewriteBase permet de
+ spécifier le préfixe d'URL à utiliser dans un contexte de
+ répertoire (htaccess) pour les directives
+ RewriteRule qui réécrivent vers un chemin
+ relatif.
+ Cette directive est obligatoire si vous utilisez un
+ chemin relatif dans une substitution, et dans un contexte de
+ répertoire (htaccess), sauf si au moins une de ces conditions est
+ vérifiée :
+
+ - La requête initiale, ainsi que la substitution, sont dans
+ la DocumentRoot (c'est à
+ dire que pour y accéder, il n'est pas nécessaire d'utiliser
+ une directive telle qu'Alias).
+ - Le chemin du système de fichiers vers le répertoire
+ contenant la RewriteRule, suffixé par
+ la substitution relative est aussi valide en tant qu'URL sur
+ le serveur (ce qui est rare).
+
+Dans l'exemple ci-dessous, la directive
+RewriteBase est nécessaire afin d'éviter une
+réécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la
+ressource n'était pas relative à la racine des documents. Cette erreur
+de configuration aurait conduit le serveur à rechercher un répertoire
+"opt" à la racine des documents.
+
+
+DocumentRoot /var/www/example.com
+Alias /myapp /opt/myapp-1.2.3
+<Directory /opt/myapp-1.2.3>
+ RewriteEngine On
+ RewriteBase /myapp/
+ RewriteRule ^index\.html$ welcome.html
+</Directory>
+
@@ -883,10 +877,10 @@ la réécriture soit effectuée
non désiré.
-
+
RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
RewriteRule ^/images - [F]
-
+
Vous pouvez aussi définir certains drapeaux pour
@@ -914,14 +908,12 @@ la réécriture soit effectuée
Permet de chaîner les conditions de règles avec un OU au
lieu du AND implicite. Exemple typique :
-
-
+
RewriteCond %{REMOTE_HOST} ^host1 [OR]
RewriteCond %{REMOTE_HOST} ^host2 [OR]
RewriteCond %{REMOTE_HOST} ^host3
RewriteRule ...règles concernant tous ces hôtes...
-
-
+
Sans ce drapeau, les paires
condition/règle devraient être écrites trois fois.
@@ -947,8 +939,7 @@ RewriteRule ...règles concernant tous ces hôtes...
l'en-tête ``User-Agent:
'' de la requête, vous
pouvez utiliser ce qui suit :
-
-
+
RewriteCond %{HTTP_USER_AGENT} ^Mozilla
RewriteRule ^/$ /homepage.max.html [L]
@@ -956,8 +947,7 @@ RewriteCond %{HTTP_USER_AGENT} ^Lynx
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
-
-
+
Explications : si vous utilisez un navigateur
(Netscape Navigator, Mozilla etc) qui s'identifie comme
@@ -999,9 +989,12 @@ RewriteRule ^/$ /homepage.std.html [L]
expression rationnelle
compatible perl. Dans la première règle de réécriture,
l'expression est comparée au (%-decoded)
- chemin de l'URL de la
- requête ; les expressions suivantes sont comparées à la sortie de
- la dernière règle de réécriture qui a été appliquée.
+ chemin de l'URL (ou au
+ chemin fichier, en
+ fonction du contexte) de la
+ requête. Les expressions suivantes sont comparées à la sortie de
+ la dernière règle de réécriture qui
+ correspondait.
Qu'est-ce qui est comparé ?
@@ -1015,7 +1008,7 @@ RewriteRule ^/$ /homepage.std.html [L]
module="core">Directory et htaccess, le
modèle est tout d'abord comparé au chemin du système
de fichiers, après suppression du préfixe ou chemin de base
- ayant conduit à la règle RewriteRule (par
+ ayant conduit le serveur vers la règle RewriteRule (par
exemple "app1/index.html" ou
"index.html" selon l'endroit où les directives sont définies).
@@ -1186,7 +1179,7 @@ substitution !
Chaque règle de réécriture s'applique au résultat de la règle
précédente, selon l'ordre dans lequel elles ont été définies dans
- le fichier de configuration. L'URI du chemin du fichier (voir
+ le fichier de configuration. Le chemin de l'URL ou du système de fichier (voir
ci-dessus Qu'est-ce qui est
comparé ?) est intégralement
remplacée par la chaîne de Substitution et le