<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1305167:1330964 (outdated) -->
+<!-- English Revision : 1330964 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<section id="sampleconf"><title>Exemple de configuration</title>
<example><title>Extrait de httpd.conf</title>
- #<br />
- # Exemple de configuration du cache<br />
- #<br />
- LoadModule cache_module modules/mod_cache.so<br />
- <br />
- <IfModule mod_cache.c><br />
- <indent>
- LoadModule disk_cache_module modules/mod_cache_disk.so<br />
- <IfModule mod_cache_disk.c><br />
- <indent>
- CacheRoot c:/cacheroot<br />
- CacheEnable disk /<br />
- CacheDirLevels 5<br />
- CacheDirLength 3<br />
- </indent>
- </IfModule> <br />
- <br />
- # Lorsqu'on sert de mandataire, on ne met pas en cache la liste
- # des mises à jour de sécurité<br />
- CacheDisable http://security.update.server/update-list/<br />
- </indent>
- </IfModule>
+ <highlight language="config">
+#
+# 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>
+ </highlight>
</example>
</section>
<section>
<title>Exemple de configuration</title>
<example><title>Activation du verrouillage du cache</title>
- #<br />
- # Active le verrouillage du cache<br />
- #<br />
- <IfModule mod_cache.c><br />
- <indent>
- CacheLock on<br />
- CacheLockPath /tmp/mod_cache-lock<br />
- CacheLockMaxAge 5<br />
- </indent>
- </IfModule>
+ <highlight language="config">
+#
+# Active le verrouillage du cache
+#
+<IfModule mod_cache.c>
+ CacheLock on
+ CacheLockPath /tmp/mod_cache-lock
+ CacheLockMaxAge 5
+</IfModule>
+ </highlight>
</example>
</section>
</section>
avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant
:</p>
- <example>
- # Mise en cache du contenu avant la compression optionnelle<br />
- CacheQuickHandler off<br />
- AddOutputFilterByType CACHE;DEFLATE text/plain<br /><br />
- </example>
+ <highlight language="config">
+# Mise en cache du contenu avant la compression optionnelle
+CacheQuickHandler off
+AddOutputFilterByType CACHE;DEFLATE text/plain
+ </highlight>
<p>Une autre possibilité consiste à mettre en cache le contenu avant
l'ajout de contenu personnalisé via <module>mod_include</module> (ou
<module>mod_include</module> sont mis en cache avant d'être
interprétés :</p>
- <example>
- # Mise en cache du contenu avant l'intervention de mod_include et
- # mod_deflate<br />
- CacheQuickHandler off<br />
- AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html<br /><br />
- </example>
+ <highlight language="config">
+# Mise en cache du contenu avant l'intervention de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ </highlight>
<p>Vous pouvez insérer le filtre <strong>CACHE</strong> 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 <module>mod_include</module>,
mais avant d'être traité par <module>mod_deflate</module> :</p>
- <example>
- # Mise en cache du contenu entre les interventions de mod_include et
- # mod_deflate<br />
- CacheQuickHandler off<br />
- AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html<br /><br />
- </example>
+ <highlight language="config">
+# Mise en cache du contenu entre les interventions de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
+ </highlight>
<note type="warning"><title>Avertissement :</title>Si pour une raison
ou pour une autre, le point d'insertion du filtre
Cette information peut être journalisée via la directive <directive
module="mod_log_config">LogFormat</directive> comme suit :</p>
- <example>
+ <highlight language="config">
LogFormat "%{cache-status}e ..."
- </example>
+ </highlight>
<p>En fonction de la décision prise, l'information est aussi écrite
dans l'environnement du sous-processus sous une des quatre clés
du traitement des requêtes par rapport au cache comme dans l'exemple
suivant :</p>
- <example>
- CustomLog requetes-depuis-cache.log common env=cache-hit<br />
- CustomLog requetes-hors-cache.log common env=cache-miss<br />
- CustomLog requetes-avec-mise-a-jour-du-cache.log common env=cache-revalidate<br />
- CustomLog requetes-avec-invalidation.log common env=cache-invalidate<br />
- </example>
+ <highlight language="config">
+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
+ </highlight>
<p>Pour les concepteurs de modules, une accroche (hook) nommée
<var>cache_status</var> est disponible et permet aux modules de
et des protocoles de mandat pour lesquels la mise en cache devra
être activée.</p>
- <example>
- # Mise en cache de contenu<br />
- <Location /foo><br />
- <indent>
- CacheEnable disk<br />
- </indent>
- </Location><br /><br />
- # Mise en cache via une expression rationnelle<br />
- <LocationMatch foo$><br />
- <indent>
- CacheEnable disk<br />
- </indent>
- </LocationMatch><br /><br />
- # Mise en cache des URLs mandatées<br />
- CacheEnable disk /<br /><br />
- # Mise en cache des URLs FTP mandatées<br />
- CacheEnable disk ftp://<br /><br />
- # Mise en cache des contenus situés dans www.example.org<br />
- CacheEnable disk http://www.example.org/<br />
- </example>
+ <highlight language="config">
+# 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/
+ </highlight>
<p>Un nom d'hôte commençant par un caractère <strong>"*"</strong>
correspondra à tout nom d'hôte se terminant par le suffixe
<strong>"."</strong> correspondra à tout nom d'hôte contenant le
composant de nom de domaine qui suit ce caractère.</p>
- <example>
- # Correspond à www.example.org et fooexample.org<br />
- CacheEnable disk http://*example.org/<br />
- # Correspond à www.example.org, mais pas à fooexample.org<br />
- CacheEnable disk http://.example.org/<br />
- </example>
+ <highlight language="config">
+# 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/
+ </highlight>
<p>Depuis la version 2.2.12, on peut définir la variable
d'environnement <code>no-cache</code> pour une définition plus fine
inférieurs.</p>
<example><title>Exemple</title>
+ <highlight language="config">
CacheDisable /fichiers_locaux
+ </highlight>
</example>
<p>Si la directive se trouve à l'intérieur d'une section <directive
par la section Location.</p>
<example><title>Exemple</title>
- <Location /foo><br />
- <indent>
- CacheDisable on<br />
- </indent>
- </Location><br />
+ <highlight language="config">
+<Location /foo>
+ CacheDisable on
+</Location>
+ </highlight>
</example>
<p>Avec les versions 2.2.12 et ultérieures, on peut définir la
sera pas à jour. L'utilisation de cette valeur maximale est forcée,
même si le document possède une date d'expiration.</p>
- <example>
+ <highlight language="config">
CacheMaxExpire 604800
- </example>
+ </highlight>
+
</usage>
</directivesynopsis>
que dans le cas où le document ne possède aucune date d'expiration
valide.</p>
- <example>
+ <highlight language="config">
CacheMinExpire 3600
- </example>
+ </highlight>
</usage>
</directivesynopsis>
<directive>CacheMaxExpire</directive> si cette dernière est
utilisée.</p>
- <example>
+ <highlight language="config">
CacheDefaultExpire 86400
- </example>
+ </highlight>
</usage>
</directivesynopsis>
d'expiration.
</p>
- <example>
+ <highlight language="config">
CacheIgnoreNoLastMod On
- </example>
+ </highlight>
</usage>
</directivesynopsis>
Les ressources qui requièrent une autorisation ne seront
<em>jamais</em> mises en cache.</p>
- <example>
+ <highlight language="config">
CacheIgnoreCacheControl On
- </example>
+ </highlight>
<note type="warning"><title>Avertissement :</title>
Cette directive permet de servir des ressources depuis le cache,
traitée comme si elle ne possèdait pas de chaîne de paramètres
lorsque cette directive est activée.</p>
- <example>
+ <highlight language="config">
CacheIgnoreQueryString On
- </example>
+ </highlight>
</usage>
</directivesynopsis>
directive <directive>CacheMaxExpire</directive>, c'est ce dernier
qui l'emporte.</p>
- <example>
+ <highlight language="config">
CacheLastModifiedFactor 0.5
- </example>
+ </highlight>
</usage>
</directivesynopsis>
<code>None</code>.</p>
<example><title>Exemple 1</title>
+ <highlight language="config">
CacheIgnoreHeaders Set-Cookie
+ </highlight>
</example>
<example><title>Exemple 2</title>
+ <highlight language="config">
CacheIgnoreHeaders None
+ </highlight>
</example>
<note type="warning"><title>Avertissement :</title>
ajouté à la liste.</p>
<example><title>Exemple 1</title>
+ <highlight language="config">
CacheIgnoreURLSessionIdentifiers jsessionid
+ </highlight>
</example>
<example><title>Exemple 2</title>
+ <highlight language="config">
CacheIgnoreURLSessionIdentifiers None
+ </highlight>
</example>
</usage>
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.</p>
- <example>
+ <highlight language="config">
CacheStoreExpired On
- </example>
+ </highlight>
+
</usage>
</directivesynopsis>
nécessitant une autorisation ne sont <em>jamais</em> mises en
cache.</p>
- <example>
+
+ <highlight language="config">
CacheStorePrivate On
- </example>
+ </highlight>
+
<note type="warning"><title>Avertissement :</title>
Cette directive autorise la mise en cache même si le serveur
nécessitant une autorisation ne sont <em>jamais</em> mises en
cache.</p>
- <example>
+
+ <highlight language="config">
CacheStoreNoStore On
- </example>
+ </highlight>
+
<note type="warning"><title>Avertissement :</title>
Selon la RFC 2616, la valeur d'en-tête no-store est censée
tempêtes de requêtes dans le répertoire temp par défaut du système est
la suivante :</p>
- <example>
- # Active le verrouillage du cache<br />
- CacheLock on<br /><br />
- </example>
+ <highlight language="config">
+# Active le verrouillage du cache
+CacheLock on
+ </highlight>
</usage>
</directivesynopsis>
traitement complet de la requête est nécessaire, comme par exemple
lorsque le contenu est soumis à autorisation.</p>
- <example>
- # Exécute le cache comme un gestionnaire normal<br />
- CacheQuickHandler off<br /><br />
- </example>
+ <highlight language="config">
+# Exécute le cache comme un gestionnaire normal
+CacheQuickHandler off
+ </highlight>
<p>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 <strong>CACHE</strong>.</p>
- <example>
- # Mise en cache du contenu avant l'intervention de mod_include et
- # mod_deflate<br />
- CacheQuickHandler off<br />
- AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html<br /><br />
- </example>
+ <highlight language="config">
+# Mise en cache du contenu avant l'intervention de mod_include et
+ # mod_deflate
+CacheQuickHandler off
+AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
+ </highlight>
<p>Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière
instance qui sera prise en compte.</p>
depuis le cache, mais directement depuis le serveur demandé.</dd>
</dl>
- <example>
- # Active l'en-tête X-Cache<br />
- CacheHeader on<br />
- </example>
+ <highlight language="config">
+# Active l'en-tête X-Cache
+CacheHeader on
+ </highlight>
- <example>
- X-Cache: HIT from localhost<br />
- </example>
+ <highlight language="config">
+ X-Cache: HIT from localhost
+ </highlight>
+
</usage>
</directivesynopsis>
rapide qui est utilisé, elle doit se situer dans un contexte de
serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p>
- <example>
- # Active l'en-tête X-Cache-Detail<br />
- CacheDetailHeader on<br />
- </example>
+ <highlight language="config">
+# Active l'en-tête X-Cache-Detail
+CacheDetailHeader on
+ </highlight>
<example>
X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost<br />
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.</p>
- <example>
- # Remplace l'URL de base de la clé de cache.<br />
- CacheKeyBaseURL http://www.example.com/<br />
- </example>
+ <highlight language="config">
+# Remplace l'URL de base de la clé de cache.
+CacheKeyBaseURL http://www.example.com/
+ </highlight>
<note type="warning">Prenez garde en définissant cette directive. Si
deux serveurs virtuels distincts possèdent accidentellement la même
réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
cache. </p>
- <example>
- # Sert des données non mises à jour en cas d'erreur.<br />
- CacheStaleOnError on<br />
- </example>
+ <highlight language="config">
+# Sert des données non mises à jour en cas d'erreur.
+CacheStaleOnError on
+ </highlight>
</usage>
</directivesynopsis>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1325680:1334163 (outdated) -->
+<!-- English Revision : 1334163 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</note>
<example><title>Exemple</title>
+ <highlight language="config">
LogLevel alert rewrite:trace3
+ </highlight>
</example>
<note><title>RewriteLog</title>
<p>Par exemple, vous pouvez définir une directive
<directive>RewriteMap</directive> comme suit </p>
- <example>
+ <highlight language="config">
RewriteMap map-exemple txt:/chemin/vers/fichier/map.txt
- </example>
+ </highlight>
<p>Vous pourrez ensuite utiliser cette table dans une
directive <directive>RewriteRule</directive> comme suit :</p>
- <example>
+ <highlight language="config">
RewriteRule ^/ex/(.*) ${map-exemple:$1}
- </example>
+ </highlight>
<p>Les combinaisons suivantes pour <em>type de correspondance</em>
et <em>source de la correspondance</em>
de configuration aurait conduit le serveur à rechercher un répertoire
"opt" à la racine des documents.</p>
-<example>
-<pre>
+<highlight language="config">
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
+ RewriteEngine On
+ RewriteBase /myapp/
+ RewriteRule ^index\.html$ welcome.html
</Directory>
-</pre>
-</example>
+</highlight>
</usage>
</directivesynopsis>
non désiré.
</p>
- <example>
+ <highlight language="config">
RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
RewriteRule ^/images - [F]
- </example>
+ </highlight>
</li>
<li>Vous pouvez aussi définir certains drapeaux pour
Permet de chaîner les conditions de règles avec un OU au
lieu du AND implicite. Exemple typique :
-<example>
-<pre>
+<highlight language="config">
RewriteCond %{REMOTE_HOST} ^host1 [OR]
RewriteCond %{REMOTE_HOST} ^host2 [OR]
RewriteCond %{REMOTE_HOST} ^host3
RewriteRule ...règles concernant tous ces hôtes...
-</pre>
-</example>
+</highlight>
Sans ce drapeau, les paires
condition/règle devraient être écrites trois fois.
l'en-tête ``<code>User-Agent:</code>'' de la requête, vous
pouvez utiliser ce qui suit : </p>
-<example>
-<pre>
+<highlight language="config">
RewriteCond %{HTTP_USER_AGENT} ^Mozilla
RewriteRule ^/$ /homepage.max.html [L]
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
-</pre>
-</example>
+</highlight>
<p>Explications : si vous utilisez un navigateur
(Netscape Navigator, Mozilla etc) qui s'identifie comme