]> granicus.if.org Git - apache/commitdiff
Updates.
authorLucien Gentis <lgentis@apache.org>
Thu, 17 May 2012 15:13:36 +0000 (15:13 +0000)
committerLucien Gentis <lgentis@apache.org>
Thu, 17 May 2012 15:13:36 +0000 (15:13 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1339634 13f79535-47bb-0310-9956-ffa450edef68

13 files changed:
docs/manual/content-negotiation.xml.fr
docs/manual/misc/perf-tuning.xml.fr
docs/manual/misc/security_tips.xml.fr
docs/manual/rewrite/access.xml.fr
docs/manual/rewrite/advanced.xml.fr
docs/manual/rewrite/avoid.xml.fr
docs/manual/rewrite/flags.xml.fr
docs/manual/rewrite/intro.xml.fr
docs/manual/ssl/ssl_faq.xml.fr
docs/manual/ssl/ssl_howto.xml.fr
docs/manual/suexec.xml.fr
docs/manual/upgrading.xml.fr
docs/manual/urlmapping.xml.fr

index 15d90f0d1656ceb2d6807ca3e4fdccbe4417f48b..6b8584d6a971e65c0b2143f0c754809b12d4e183 100644 (file)
@@ -3,7 +3,7 @@
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1174747:1334033 (outdated) -->
+<!-- English Revision : 1334033 -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
     gestionnaire qui associe un suffixe de fichier &agrave; une <code>type-map</code>;
     ce qui se fait simplement en ajoutant</p>
 
-<example>AddHandler type-map .var</example>
+<highlight language="config">AddHandler type-map .var</highlight>
 
     <p>dans le fichier de configuration du serveur.</p>
 
     nomm&eacute; par la directive <directive
     module="mod_dir">DirectoryIndex</directive>, si le serveur tente d'indexer
     un r&eacute;pertoire. Si les fichiers de configuration sp&eacute;cifient</p>
-<example>DirectoryIndex index</example>
+<highlight language="config">DirectoryIndex index</highlight>
     <p>le serveur va choisir entre <code>index.html</code>
     et <code>index.html3</code> si les deux fichiers sont pr&eacute;sents. Si aucun
     n'est pr&eacute;sent, mais <code>index.cgi</code> existe,
@@ -537,8 +537,10 @@ langage</title>
     variante, le processus normal de n&eacute;gociation sera lanc&eacute;.</p>
 
     <example><title>Exemple</title>
-      SetEnvIf Cookie "language=(.+)" prefer-language=$1<br />
-      Header append Vary cookie
+      <highlight language="config">
+SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+    </highlight>
     </example>
 </section>
 </section>
index 1d3c78f32b7808f77234a98b53346faf4b8f6656..ccb7c791596e2d22b6fc9498a0ae7f498a43f780 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328334:1333991 (outdated) -->
+<!-- English Revision : 1333991 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
       Voici un exemple qui d&eacute;sactive les recherches DNS sauf pour les fichiers
       <code>.html</code> et <code>.cgi</code> :</p>
 
-      <example>
-        HostnameLookups off<br />
-        &lt;Files ~ "\.(html|cgi)$"&gt;<br />
-        <indent>
-          HostnameLookups on<br />
-        </indent>
-        &lt;/Files&gt;
-      </example>
+      <highlight language="config">
+HostnameLookups off
+&lt;Files ~ "\.(html|cgi)$"&gt;
+  HostnameLookups on
+&lt;/Files&gt;
+      </highlight>
 
       <p>Mais m&ecirc;me dans ce cas, si vous n'avez besoin de noms DNS que dans
       certains CGIs, vous pouvez effectuer l'appel &agrave; <code>gethostbyname</code>
       symboliques. Un appel suppl&eacute;mentaire par &eacute;l&eacute;ment du chemin du fichier.
       Par exemple, si vous avez :</p>
 
-      <example>
-        DocumentRoot /www/htdocs<br />
-        &lt;Directory /&gt;<br />
-        <indent>
-          Options SymLinksIfOwnerMatch<br />
-        </indent>
-        &lt;/Directory&gt;
-      </example>
+      <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+  Options SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+      </highlight>
 
       <p>et si une requ&ecirc;te demande l'URI <code>/index.html</code>, Apache
       effectuera un appel &agrave; <code>lstat(2)</code> pour
       v&eacute;rifier la s&eacute;curit&eacute; des liens symboliques, vous pouvez utiliser une
       configuration du style :</p>
 
-      <example>
-        DocumentRoot /www/htdocs<br />
-        &lt;Directory /&gt;<br />
-        <indent>
-          Options FollowSymLinks<br />
-        </indent>
-        &lt;/Directory&gt;<br />
-        <br />
-        &lt;Directory /www/htdocs&gt;<br />
-        <indent>
-          Options -FollowSymLinks +SymLinksIfOwnerMatch<br />
-        </indent>
-        &lt;/Directory&gt;
-      </example>
+      <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+  Options FollowSymLinks
+&lt;/Directory&gt;
+
+&lt;Directory /www/htdocs&gt;
+  Options -FollowSymLinks +SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+      </highlight>
 
       <p>Ceci &eacute;vite au moins les v&eacute;rifications suppl&eacute;mentaires pour le chemin
       d&eacute;fini par <directive module="core">DocumentRoot</directive>. Notez que
       pour chaque &eacute;l&eacute;ment du chemin du fichier demand&eacute;. Par exemple, si vous
       avez : </p>
 
-      <example>
-        DocumentRoot /www/htdocs<br />
-        &lt;Directory /&gt;<br />
-        <indent>
-          AllowOverride all<br />
-        </indent>
-        &lt;/Directory&gt;
-      </example>
+      <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+  AllowOverride all
+&lt;/Directory&gt;
+      </highlight>
 
       <p>et qu'une requ&ecirc;te demande l'URI <code>/index.html</code>, Apache
       tentera d'ouvrir <code>/.htaccess</code>, <code>/www/.htaccess</code>,
       Il y a cependant un cas dans lequel vous pouvez acc&eacute;l&eacute;rer le serveur.
       Au lieu d'utiliser une directive g&eacute;n&eacute;rique comme :</p>
 
-      <example>
-        DirectoryIndex index
-      </example>
+      <highlight language="config">DirectoryIndex index</highlight>
 
       <p>utilisez une liste explicite d'options :</p>
 
-      <example>
-        DirectoryIndex index.cgi index.pl index.shtml index.html
-      </example>
+      <highlight language="config">DirectoryIndex index.cgi index.pl index.shtml index.html</highlight>
 
       <p>o&ugrave; vous placez le choix courant en premi&egrave;re position.</p>
 
        serveurs pr&eacute;sentant un traffic important car il poss&egrave;de une empreinte
        m&eacute;moire plus petite que le MPM prefork.</li>
 
+       <li>Comme le MPM Worker, le MPM <module>event</module> utilise
+       les threads, mais il a &eacute;t&eacute; con&ccedil;u pour traiter davantage de
+       requ&ecirc;tes simultan&eacute;ment en confiant une partie du travail &agrave; des
+       threads de support, ce qui permet aux threads principaux de
+       traiter de nouvelles requ&ecirc;tes.</li>
+
         <li>Le MPM <module>prefork</module> utilise plusieurs processus enfants
        poss&eacute;dant chacun un seul thread. Chaque processus g&egrave;re une seule
        connexion &agrave; la fois. Sur de nombreux syst&egrave;mes, prefork est comparable
       (ces exemples ne sont pas extraits du code d'Apache, ils ne sont
       propos&eacute;s qu'&agrave; des fins p&eacute;dagogiques) :</p>
 
-      <example>
-        for (;;) {<br />
-        <indent>
-          for (;;) {<br />
-          <indent>
-            fd_set accept_fds;<br />
-            <br />
-            FD_ZERO (&amp;accept_fds);<br />
-            for (i = first_socket; i &lt;= last_socket; ++i) {<br />
-            <indent>
-              FD_SET (i, &amp;accept_fds);<br />
-            </indent>
-            }<br />
-            rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);<br />
-            if (rc &lt; 1) continue;<br />
-            new_connection = -1;<br />
-            for (i = first_socket; i &lt;= last_socket; ++i) {<br />
-            <indent>
-              if (FD_ISSET (i, &amp;accept_fds)) {<br />
-              <indent>
-                new_connection = accept (i, NULL, NULL);<br />
-                if (new_connection != -1) break;<br />
-              </indent>
-              }<br />
-            </indent>
-            }<br />
-            if (new_connection != -1) break;<br />
-          </indent>
-          }<br />
-          process the new_connection;<br />
-        </indent>
+      <highlight language="c">
+        for (;;) {
+          for (;;) {
+            fd_set accept_fds;
+
+            FD_ZERO (&amp;accept_fds);
+            for (i = first_socket; i &lt;= last_socket; ++i) {
+              FD_SET (i, &amp;accept_fds);
+            }
+            rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+            if (rc &lt; 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i &lt;= last_socket; ++i) {
+              if (FD_ISSET (i, &amp;accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          process_the(new_connection);
         }
-      </example>
+      </highlight>
 
       <p>Mais cette impl&eacute;mentation rudimentaire pr&eacute;sente une s&eacute;rieuse lacune.
       Rappelez-vous que les processus enfants ex&eacute;cutent cette boucle au m&ecirc;me
       entr&eacute;es dans la boucle interne. La boucle ressemble &agrave; ceci (les
       diff&eacute;rences sont mises en surbrillance) :</p>
 
-      <example>
-        for (;;) {<br />
-        <indent>
-          <strong>accept_mutex_on ();</strong><br />
-          for (;;) {<br />
-          <indent>
-            fd_set accept_fds;<br />
-            <br />
-            FD_ZERO (&amp;accept_fds);<br />
-            for (i = first_socket; i &lt;= last_socket; ++i) {<br />
-            <indent>
-              FD_SET (i, &amp;accept_fds);<br />
-            </indent>
-            }<br />
-            rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);<br />
-            if (rc &lt; 1) continue;<br />
-            new_connection = -1;<br />
-            for (i = first_socket; i &lt;= last_socket; ++i) {<br />
-            <indent>
-              if (FD_ISSET (i, &amp;accept_fds)) {<br />
-              <indent>
-                new_connection = accept (i, NULL, NULL);<br />
-                if (new_connection != -1) break;<br />
-              </indent>
-              }<br />
-            </indent>
-            }<br />
-            if (new_connection != -1) break;<br />
-          </indent>
-          }<br />
-          <strong>accept_mutex_off ();</strong><br />
-          process the new_connection;<br />
-        </indent>
+      <highlight language="c">
+        for (;;) {
+          <strong>accept_mutex_on ();</strong>
+          for (;;) {
+            fd_set accept_fds;
+            
+            FD_ZERO (&amp;accept_fds);
+            for (i = first_socket; i &lt;= last_socket; ++i) {
+              FD_SET (i, &amp;accept_fds);
+            }
+            rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+            if (rc &lt; 1) continue;
+            new_connection = -1;
+            for (i = first_socket; i &lt;= last_socket; ++i) {
+              if (FD_ISSET (i, &amp;accept_fds)) {
+                new_connection = accept (i, NULL, NULL);
+                if (new_connection != -1) break;
+              }
+            }
+            if (new_connection != -1) break;
+          }
+          <strong>accept_mutex_off ();</strong>
+          process the new_connection;
         }
-      </example>
+      </highlight>
 
       <p><a id="serialize" name="serialize">Les fonctions</a>
       <code>accept_mutex_on</code> et <code>accept_mutex_off</code>
       <code>http_main.c</code>). La fonction ressemble approximativement &agrave;
       ceci :</p>
 
-      <example>
-        void lingering_close (int s)<br />
-        {<br />
-        <indent>
-          char junk_buffer[2048];<br />
-          <br />
-          /* shutdown the sending side */<br />
-          shutdown (s, 1);<br />
-          <br />
-          signal (SIGALRM, lingering_death);<br />
-          alarm (30);<br />
-          <br />
-          for (;;) {<br />
-          <indent>
-            select (s for reading, 2 second timeout);<br />
-            if (error) break;<br />
-            if (s is ready for reading) {<br />
-            <indent>
-              if (read (s, junk_buffer, sizeof (junk_buffer)) &lt;= 0) {<br />
-              <indent>
-                break;<br />
-              </indent>
-              }<br />
-              /* just toss away whatever is here */<br />
-            </indent>
-            }<br />
-          </indent>
-          }<br />
-          <br />
-          close (s);<br />
-        </indent>
+      <highlight language="c">
+        void lingering_close (int s)
+        {
+          char junk_buffer[2048];
+          
+          /* shutdown the sending side */
+          shutdown (s, 1);
+
+          signal (SIGALRM, lingering_death);
+          alarm (30);
+
+          for (;;) {
+            select (s for reading, 2 second timeout);
+            if (error) break;
+            if (s is ready for reading) {
+              if (read (s, junk_buffer, sizeof (junk_buffer)) &lt;= 0) {
+                break;
+              }
+              /* just toss away whatever is here */
+            }
+          }
+          
+          close (s);
         }
-      </example>
+      </highlight>
 
       <p>Ceci ajoute naturellement un peu de charge &agrave; la fin d'une connexion,
       mais s'av&egrave;re n&eacute;cessaire pour une impl&eacute;mentation fiable. Comme HTTP/1.1
index d47c9d4a4becd513b26ce7a735fcd05823682242..16ec6a58f4aef2c40858d09b989422ca9030b3f8 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1300924:1333991 (outdated) -->
+<!-- English revision : 1333991 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
 
     <p>Ajoutez dans le fichier de configuration du serveur</p>
 
-    <example>
-      &lt;Directory /&gt; <br />
-        AllowOverride None <br />
-      &lt;/Directory&gt;
-    </example>
+    <highlight language="config">
+&lt;Directory /&gt;
+    AllowOverride None
+&lt;/Directory&gt;
+    </highlight>
 
     <p>Ceci interdit l'utilisation des fichiers <code>.htaccess</code> dans
     tous les r&eacute;pertoires, sauf ceux pour lesquels c'est explicitement
     fichiers. Pour l'&eacute;viter, ajoutez le bloc suivant &agrave; la configuration
     de votre serveur :</p>
 
-    <example>
-      &lt;Directory /&gt; <br />
-      Order Deny,Allow <br />
-      Deny from all <br />
-      &lt;/Directory&gt;
-    </example>
+    <highlight language="config">
+&lt;Directory /&gt;
+    Order Deny,Allow
+    Deny from all
+&lt;/Directory&gt;
+    </highlight>
 
     <p>ceci va interdire l'acc&egrave;s par d&eacute;faut &agrave; tous les fichiers du syst&egrave;me de
     fichiers. Vous devrez ensuite ajouter les blocs
     <directive module="core">Directory</directive> appropri&eacute;s correspondant
     aux r&eacute;pertoires auxquels vous voulez autorisez l'acc&egrave;s. Par exemple,</p>
 
-    <example>
-      &lt;Directory /usr/users/*/public_html&gt; <br />
-        Order Deny,Allow <br />
-        Allow from all <br />
-      &lt;/Directory&gt; <br />
-      &lt;Directory /usr/local/httpd&gt; <br />
-        Order Deny,Allow <br />
-        Allow from all <br />
-      &lt;/Directory&gt;
-    </example>
+    <highlight language="config">
+&lt;Directory /usr/users/*/public_html&gt;
+    Order Deny,Allow
+    Allow from all
+&lt;/Directory&gt;
+&lt;Directory /usr/local/httpd&gt;
+    Order Deny,Allow
+    Allow from all
+&lt;/Directory&gt;
+    </highlight>
 
     <p>Portez une attention particuli&egrave;re aux interactions entre les directives
     <directive module="core">Location</directive> et
     fortement d'inclure la ligne suivante dans le fichier de configuration de
     votre serveur :</p>
 
-    <example>
-      UserDir disabled root
-    </example>
+    <highlight language="config">UserDir disabled root</highlight>
 
   </section>
 
     qui signifie que vous avez probablement mis en commentaire ce qui suit dans
     le fichier de configuration de votre serveur :</p>
 
-    <example>
-      &lt;Files ".ht*"&gt; <br />
-        Order allow,deny <br />
-        Deny from all <br />
-      &lt;/Files&gt;
-    </example>
+    <highlight language="config">
+&lt;Files ".ht*"&gt;
+    Order allow,deny
+    Deny from all
+&lt;/Files&gt;
+    </highlight>
 
   </section>
   <section id="merging">
index aaf9b736e15cb0ec590cf3106402f99215dd8da3..54ac4958dc48ceb066d9de5460b603006200fbf8 100644 (file)
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1174747:1335963 (outdated) -->
+<!-- English Revision: 1335963 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
+
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
@@ -87,30 +88,30 @@ correspondance</a></seealso>
 
 <!-- TODO: Add discussion here of why we have !^$ in there. -->
 
-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong>    -   [F,NC]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$    -   [F,NC]
+</highlight>
 
        <p>Dans le second exemple, plut&ocirc;t que de rejeter la requ&ecirc;te,
        nous affichons une autre image &agrave; la place.</p>
 
-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong>    /images/go-away.png   [R,NC]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$    /images/go-away.png   [R,NC]
+</highlight>
 
        <p>Dans le troisi&egrave;me exemple, nous redirigeons la requ&ecirc;te vers
        une image appartenant &agrave; un autre site.</p>
 
+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif   [R,NC]
+</highlight>
 
-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif   [R,NC]
-</example>
        <p>De tous ces exemples, les deux derniers semblent les plus
        efficaces pour faire en sorte que les gens arr&ecirc;tent de
        r&eacute;f&eacute;rencer vos images &agrave; chaud, car il ne verront pas les images
@@ -125,14 +126,12 @@ RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif
        simplement interdire l'acc&egrave;s &agrave; la ressource, vous pouvez y
        parvenir sans utiliser mod_rewrite :</p>
 
-        <example>
-        SetEnvIf Referer exemple\.com localreferer<br />
-        &lt;FilesMatch \.(jpg|png|gif)$&gt;<br />
-        Order deny,allow<br />
-        Deny from all<br />
-        Allow from env=localreferer<br />
-        &lt;/FilesMatch&gt;
-        </example>
+        <highlight language="config">
+SetEnvIf Referer example\.com localreferer
+&lt;FilesMatch \.(jpg|png|gif)$&gt;
+    Require env localreferer
+&lt;/FilesMatch&gt;
+        </highlight>
         </dd>
       </dl>
 
@@ -161,8 +160,7 @@ RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif
         <p>Notez qu'il existe des m&eacute;thodes d'exclusion qui n'utilisent
        pas mod_rewrite. Notez aussi que toute technique qui repose sur
        le contenu de la cha&icirc;ne client <code>USER_AGENT</code> peut &ecirc;tre
-       contourn&eacute;e tr&egrave;s facilement car cette cha&icirc;ne de caract&egrave;res peut
-        &ecirc;tre modifi&eacute;e.</p>
+       contourn&eacute;e tr&egrave;s facilement car cette cha&icirc;ne peut &ecirc;tre modifi&eacute;e.</p>
         </dd>
 
         <dt>Solution :</dt>
@@ -170,7 +168,7 @@ RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif
         <dd>
         <p>On utilise un jeu de r&egrave;gles qui sp&eacute;cifie le r&eacute;pertoire &agrave;
        prot&eacute;ger, ainsi que la cha&icirc;ne client <code>USER_AGENT</code> qui
-       identifie le robot ind&eacute;sirable ou envahissant.</p>
+       identifie le robot malin ou envahissant.</p>
 
         <p>Dans cet exemple, nous bloquons un robot nomm&eacute;
        <code>Vilain_Robot</code> pour le r&eacute;pertoire
@@ -178,11 +176,11 @@ RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif
        seulement depuis une source particuli&egrave;re, vous pouvez aussi
        sp&eacute;cifier un intervalle d'adresses IP.</p>
 
-<example>
-RewriteCond %{HTTP_USER_AGENT}   ^<strong>Vilain_Robot</strong><br />
-RewriteCond %{REMOTE_ADDR}       =<strong>123\.45\.67\.[8-9]</strong><br />
-RewriteRule ^<strong>/secret/fichiers/</strong>   -   [<strong>F</strong>]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_USER_AGENT}   ^NameOfBadRobot
+RewriteCond %{REMOTE_ADDR}       =123\.45\.67\.[8-9]
+RewriteRule ^/secret/files/   -   [F]
+</highlight>
         </dd>
 
       <dt>Discussion :</dt>
@@ -192,14 +190,15 @@ RewriteRule ^<strong>/secret/fichiers/</strong>   -   [<strong>F</strong>]
         Vous pouvez cependant parvenir au m&ecirc;me r&eacute;sultat sans utiliser
        mod_rewrite via la m&eacute;thode alternative suivante :
       </p>
-      <example>
-      SetEnvIfNoCase User-Agent ^Vilain_Robot interdit<br />
-      &lt;Location /secret/fichiers&gt;<br />
-      Order allow,deny<br />
-      Allow from all<br />
-      Deny from env=interdit<br />
-      &lt;/Location&gt;
-      </example>
+      <highlight language="config">
+SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+&lt;Location /secret/files&gt;
+    &lt;RequireAll&gt;
+        Require all granted
+        Require not env goaway
+    &lt;/RequireAll&gt;
+&lt;/Location&gt;
+      </highlight>
       <p>
       Comme indiqu&eacute; plus haut, il est ais&eacute; de contourner cette
       technique, simplement en modifiant le contenu de l'en-t&ecirc;te
@@ -230,13 +229,13 @@ RewriteRule ^<strong>/secret/fichiers/</strong>   -   [<strong>F</strong>]
     <dt>Solution :</dt>
 
     <dd>
-<example>
-RewriteEngine on<br />
-RewriteMap    hosts-deny  txt:/chemin/vers/hosts.deny<br />
-RewriteCond   ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]<br />
-RewriteCond   ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND<br />
+<highlight language="config">
+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]
-</example>
+</highlight>
 
 <example>
 ##<br />
@@ -286,24 +285,24 @@ bsdti1.sdm.de  -<br />
   <p>Le jeu de r&egrave;gles suivant utilise un fichier de correspondances pour
   associer chaque Referer &agrave; une cible de redirection.</p>
 
-<example>
-RewriteMap  deflector txt:/chemin/vers/deflector.map<br />
-<br />
-RewriteCond %{HTTP_REFERER} !=""<br />
-RewriteCond ${deflector:%{HTTP_REFERER}} =-<br />
-RewriteRule ^ %{HTTP_REFERER} [R,L]<br />
-<br />
-RewriteCond %{HTTP_REFERER} !=""<br />
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND<br />
+<highlight language="config">
+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}|NOT-FOUND} !=NOT-FOUND
 RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]
-</example>
+</highlight>
 
       <p>Le fichier de correspondances contient les cibles de
       redirection associ&eacute;es &agrave; chaque Referer, ou, si nous voulons
       simplement rediriger les requ&ecirc;tes vers leur Referer, un "-" est
       inscrit dans le fichier de correspondances :</p>
 
-<example>
+<highlight language="config">
 ##<br />
 ##  deflector.map<br />
 ##<br />
@@ -311,7 +310,7 @@ RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]
 http://www.mauvais-gars.example.com/mauvais/index.html    -<br />
 http://www.mauvais-gars.example.com/mauvais/index2.html   -<br />
 http://www.mauvais-gars.example.com/mauvais/index3.html   http://quelque-part.example.com/
-</example>
+</highlight>
 
     </dd>
   </dl>
index 361cc138e817f7016ca6a4272e797f67c4ee8e61..c12348e04a8433ab126bef89c7eb5080d9a4864d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1174747:1338147 (outdated) -->
+<!-- English Revision: 1338147 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -25,7 +25,7 @@
 <manualpage metafile="avoid.xml.meta">
   <parentdocument href="./">Rewrite</parentdocument>
 
-<title>Techniques avanc&eacute;es de r&eacute;&eacute;criture avec mod_rewrite</title>
+<title>Advanced Techniques with mod_rewrite</title>
 
 <summary>
 
@@ -102,14 +102,11 @@ http://serveur_physique_utilisateur1/u/utilisateur/chemin
       serveur par d&eacute;faut qui sera utilis&eacute; lorsqu'un utilisateur ne
       poss&egrave;dera pas d'entr&eacute;e dans la table de correspondances :</p>
 
-<example>
-RewriteEngine on<br />
-<br />
-RewriteMap      utilisateurs-serveurs
-txt:/chemin/vers/correspondances-utilisateurs-serveurs<br />
-<br />
-RewriteRule   ^/u/<strong>([^/]+)</strong>/?(.*)   http://<strong>${utilisateurs-serveurs:$1|server0}</strong>/u/$1/$2
-</example>
+<highlight language="config">
+RewriteEngine on
+RewriteMap      users-to-hosts   txt:/path/to/map.users-to-hosts
+RewriteRule   ^/u/([^/]+)/?(.*)   http://${users-to-hosts:$1|server0}/u/$1/$2
+</highlight>
     </dd>
   </dl>
 
@@ -138,13 +135,13 @@ RewriteRule   ^/u/<strong>([^/]+)</strong>/?(.*)   http://<strong>${utilisateurs
     <dt>Solution :</dt>
 
     <dd>
-      &Agrave; cet effet, on utilise le jeu de r&egrave;gles suivant :
+      A cet effet, on utilise le jeu de r&egrave;gles suivant :
 
-<example>
-# Cet exemple n'est valable que dans un contexte de r&eacute;pertoire<br />
-RewriteCond %{REQUEST_URI}   <strong>!-U</strong><br />
+<highlight language="config">
+# Cet exemple n'est valable que dans un contexte de r&eacute;pertoire
+RewriteCond %{REQUEST_URI}   !-U
 RewriteRule ^(.+)\.html$          /regenerate_page.cgi   [PT,L]
-</example>
+</highlight>
 
       <p>L'op&eacute;rateur <code>-U</code> permet de d&eacute;terminer si la cha&icirc;ne
       de test (dans ce cas <code>REQUEST_URI</code>) est une URL valide.
@@ -185,12 +182,11 @@ RewriteRule ^(.+)\.html$          /regenerate_page.cgi   [PT,L]
       module="mod_rewrite">RewriteMap</directive> et une liste de
       serveurs.</p>
 
-<example>
-RewriteEngine on<br />
-RewriteMap lb rnd:/chemin/vers/liste-serveurs.txt<br />
-<br />
+<highlight language="config">
+RewriteEngine on
+RewriteMap lb rnd:/path/to/serverlist.txt
 RewriteRule ^/(.*) http://${lb:serveurs}/$1 [P,L]
-</example>
+</highlight>
 
 <p><code>liste-serveurs.txt</code> contiendra la liste des serveurs :</p>
 
@@ -248,9 +244,9 @@ plus de fonctionnalit&eacute;s dans ce domaine que mod_rewrite.</p>
          actualis&eacute;e chaque fois que la ressource est mise &agrave; jour dans
          le syst&egrave;me de fichiers.</p>
 
-<example>
+<highlight language="config">
 RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /interne/cgi/apache/nph-refresh?f=$
-</example>
+</highlight>
 
       <p>Nous appelons maintenant cette URL</p>
 
@@ -268,7 +264,7 @@ RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /interne/cgi/apache/nph-refresh?f=$
          &eacute;crive habituellement dans ces cas "laiss&eacute; &agrave; la charge du
          lecteur &agrave; titre d'exercice", ;-) je vous l'offre, aussi.</p>
 
-<example><pre>
+<highlight language="perl">
 #!/sw/bin/perl
 ##
 ##  nph-refresh -- script NPH/CGI pour l'actualisation automatique de
@@ -278,61 +274,61 @@ RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /interne/cgi/apache/nph-refresh?f=$
 $| = 1;
 
 #   &eacute;clate la variable QUERY_STRING
-@pairs = split(/&amp;/, $ENV{'QUERY_STRING'});
+@pairs = split( /&amp;/, $ENV{'QUERY_STRING'} );
 foreach $pair (@pairs) {
-($name, $value) = split(/=/, $pair);
-$name =~ tr/A-Z/a-z/;
-$name = 'QS_' . $name;
-$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-eval "\$$name = \"$value\"";
+    ( $name, $value ) = split( /=/, $pair );
+    $name =~ tr/A-Z/a-z/;
+    $name = 'QS_' . $name;
+    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+    eval "\$$name = \"$value\"";
 }
-$QS_s = 1 if ($QS_s eq '');
-$QS_n = 3600 if ($QS_n eq '');
-if ($QS_f eq '') {
-print "HTTP/1.0 200 OK\n";
-print "Content-type: text/html\n\n";
-print "&amp;lt;b&amp;gt;ERREUR&amp;lt;/b&amp;gt;: Aucun fichier fourni\n";
-exit(0);
+$QS_s = 1    if ( $QS_s eq '' );
+$QS_n = 3600 if ( $QS_n eq '' );
+if ( $QS_f eq '' ) {
+    print "HTTP/1.0 200 OK\n";
+    print "Content-type: text/html\n\n";
+    print "&lt;b&gt;ERROR&lt;/b&gt;: No file given\n";
+    exit(0);
 }
-if (! -f $QS_f) {
-print "HTTP/1.0 200 OK\n";
-print "Content-type: text/html\n\n";
-print "&amp;lt;b&amp;gt;ERREUR&amp;lt;/b&amp;gt;: Fichier $QS_f non trouv&eacute;\n";
-exit(0);
+if ( !-f $QS_f ) {
+    print "HTTP/1.0 200 OK\n";
+    print "Content-type: text/html\n\n";
+    print "&lt;b&gt;ERROR&lt;/b&gt;: File $QS_f not found\n";
+    exit(0);
 }
 
 sub print_http_headers_multipart_begin {
-print "HTTP/1.0 200 OK\n";
-$bound = "ThisRandomString12345";
-print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
-&amp;print_http_headers_multipart_next;
+    print "HTTP/1.0 200 OK\n";
+    $bound = "ThisRandomString12345";
+    print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
+    &amp;print_http_headers_multipart_next;
 }
 
 sub print_http_headers_multipart_next {
-print "\n--$bound\n";
+    print "\n--$bound\n";
 }
 
 sub print_http_headers_multipart_end {
-print "\n--$bound--\n";
+    print "\n--$bound--\n";
 }
 
 sub displayhtml {
-local($buffer) = @_;
-$len = length($buffer);
-print "Content-type: text/html\n";
-print "Content-length: $len\n\n";
-print $buffer;
+    local ($buffer) = @_;
+    $len = length($buffer);
+    print "Content-type: text/html\n";
+    print "Content-length: $len\n\n";
+    print $buffer;
 }
 
 sub readfile {
-local($file) = @_;
-local(*FP, $size, $buffer, $bytes);
-($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
-$size = sprintf("%d", $size);
-open(FP, "&amp;lt;$file");
-$bytes = sysread(FP, $buffer, $size);
-close(FP);
-return $buffer;
+    local ($file) = @_;
+    local ( *FP, $size, $buffer, $bytes );
+    ( $x, $x, $x, $x, $x, $x, $x, $size ) = stat($file);
+    $size = sprintf( "%d", $size );
+    open( FP, "&lt;$file" );
+    $bytes = sysread( FP, $buffer, $size );
+    close(FP);
+    return $buffer;
 }
 
 $buffer = &amp;readfile($QS_f);
@@ -340,30 +336,30 @@ $buffer = &amp;readfile($QS_f);
 &amp;displayhtml($buffer);
 
 sub mystat {
-local($file) = $_[0];
-local($time);
+    local ($file) = $_[0];
+    local ($time);
 
-($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
-return $mtime;
+    ( $x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime ) = stat($file);
+    return $mtime;
 }
 
 $mtimeL = &amp;mystat($QS_f);
-$mtime = $mtime;
-for ($n = 0; $n &amp;lt; $QS_n; $n++) {
-while (1) {
-    $mtime = &amp;mystat($QS_f);
-    if ($mtime ne $mtimeL) {
-        $mtimeL = $mtime;
-        sleep(2);
-        $buffer = &amp;readfile($QS_f);
-        &amp;print_http_headers_multipart_next;
-        &amp;displayhtml($buffer);
-        sleep(5);
-        $mtimeL = &amp;mystat($QS_f);
-        last;
+$mtime  = $mtime;
+for ( $n = 0 ; $n &amp; lt ; $QS_n ; $n++ ) {
+    while (1) {
+        $mtime = &amp;mystat($QS_f);
+        if ( $mtime ne $mtimeL ) {
+            $mtimeL = $mtime;
+            sleep(2);
+            $buffer = &amp;readfile($QS_f);
+            &amp;print_http_headers_multipart_next;
+            &amp;displayhtml($buffer);
+            sleep(5);
+            $mtimeL = &amp;mystat($QS_f);
+            last;
+        }
+        sleep($QS_s);
     }
-    sleep($QS_s);
-}
 }
 
 &amp;print_http_headers_multipart_end;
@@ -371,7 +367,7 @@ while (1) {
 exit(0);
 
 ##EOF##
-</pre></example>
+</highlight>
     </dd>
   </dl>
 
@@ -402,10 +398,10 @@ exit(0);
       <p>On utilise le jeu de r&egrave;gles suivant pour d&eacute;velopper les
          URLs avec tilde selon l'organisation structur&eacute;e pr&eacute;c&eacute;dente.</p>
 
-<example>
-RewriteEngine on<br />
+<highlight language="config">
+RewriteEngine on
 RewriteRule   ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)  /home/<strong>$2</strong>/$1/public_html$3
-</example>
+</highlight>
     </dd>
   </dl>
 
@@ -464,13 +460,12 @@ RewriteRule   ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)  /home/<strong>$2</stro
          permettent d'effectuer des redirections d&eacute;pendant de
          l'heure :</p>
 
-<example>
-RewriteEngine on<br />
-RewriteCond   %{TIME_HOUR}%{TIME_MIN} &gt;0700<br />
-RewriteCond   %{TIME_HOUR}%{TIME_MIN} &lt;1900<br />
-RewriteRule   ^foo\.html$             foo.jour.html [L]<br />
-RewriteRule   ^foo\.html$             foo.nuit.html
-</example>
+<highlight language="config">
++RewriteEngine on
++RewriteCond   %{TIME_HOUR}%{TIME_MIN} &gt;0700
++RewriteCond   %{TIME_HOUR}%{TIME_MIN} &lt;1900
++RewriteRule   ^foo\.html$             foo.day.html [L]
+</highlight>
 
       <p>Avec cet exemple, l'URL <code>foo.html</code> renvoie
          le contenu de <code>foo.jour.html</code> durant le
@@ -483,7 +478,8 @@ RewriteRule   ^foo\.html$             foo.nuit.html
        la fen&ecirc;tre de temps configur&eacute;e. On peut utiliser
        <module>mod_expires</module> pour contourner ce probl&egrave;me. Il est
        cependant bien plus commode de servir un contenu dynamique, et
-       de le personnaliser en fonction de l'heure du jour.</note> </dd>
+       de le personnaliser en fonction de l'heure du jour.</note>
+    </dd>
   </dl>
 
 </section>
@@ -511,18 +507,18 @@ RewriteRule   ^foo\.html$             foo.nuit.html
       <p>Utiliser le drapeau [E] pour d&eacute;finir une variable
       d'environnement.</p>
 
-<example>
-RewriteEngine on<br />
+<highlight language="config">
+RewriteEngine on
 RewriteRule   ^/cheval/(.*)   /poney/$1 [E=<strong>rewritten:1</strong>]
-</example>
+</highlight>
 
     <p>Plus loin dans votre jeu de r&egrave;gles, vous pouvez v&eacute;rifier le
     contenu de cette variable d'environnement via une directive
     RewriteCond :</p>
 
-<example>
+<highlight language="config">
 RewriteCond %{ENV:rewritten} =1
-</example>
+</highlight>
 
     </dd>
   </dl>
index bba1cd6bcffb4512d3d70b7e0aed0d2796f034c9..bbc0bcc93f4e585a6f4cd58ca3c204cabf6dcbce 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328305:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -99,25 +99,22 @@ rediriger toutes les URLs de niveaux inf&eacute;rieurs comme
 <p>Pour rediriger les URLs sous <code>/un</code> vers
 <code>http://un.example.com/</code>, utilisez cette d&eacute;finition :</p>
 
-<example>
-Redirect /un/ http://un.example.com/
-</example>
+<highlight language="config">Redirect /one/ http://one.example.com/</highlight>
 
 <p>Pour rediriger les URLs <code>http</code> vers <code>https</code>,
 utilisez cette d&eacute;finition :</p>
 
-<example>
+<highlight language="config">
 &lt;VirtualHost *:80&gt;
-ServerName www.example.com<br />
-Redirect / https://www.example.com/<br />
+ServerName www.example.com
+Redirect / https://www.example.com/
 &lt;/VirtualHost &gt;
-<br />
+
 &lt;VirtualHost *:443&gt;
-ServerName www.example.com<br />
-<br />
-# ... ins&eacute;rer ici la configuration SSL<br />
+ServerName www.example.com
+#  ... ins&eacute;rer ici la configuration SSL
 &lt;/VirtualHost &gt;
-</example>
+</highlight>
 
 <p>L'utilisation de la directive <code>RewriteRule</code> pour accomplir
 cette t&acirc;che peut se justifier s'il existe d'autres directives
@@ -144,7 +141,8 @@ possible d'effectuer cette mise en correspondance avec
 <code>Alias</code> pour des raisons de simplicit&eacute; et de performances.</p>
 
 <example><title>Utilisation de la directive Alias</title>
-Alias /chats /var/www/virtualhosts/felin/htdocs
+<highlight language="config">Alias /cats
+/var/www/virtualhosts/felines/htdocs</highlight>
 </example>
 
 <p>
@@ -176,7 +174,7 @@ cr&eacute;er un grand nombre de serveurs virtuels dynamiquement.</p>
 <p>L'utilisation de <module>mod_rewrite</module> pour la cr&eacute;ation de
 serveurs virtuels peut se r&eacute;v&eacute;ler appropri&eacute;e si votre service
 d'h&eacute;bergement ne vous permet pas d'acc&eacute;der aux fichiers de configuration
-du serveur, et que vous vous trouvez par cons&eacute;quent oblig&eacute; de passer par les
+du serveur, et que vous soyez par cons&eacute;quent oblig&eacute; de passer par les
 fichiers <code>.htaccess</code>.</p>
 
 <p>Voir le document <a href="vhosts.html">cr&eacute;ation de serveurs virtuels
@@ -191,9 +189,9 @@ cela semble &ecirc;tre tout de m&ecirc;me la meilleure approche.</p>
 href="flags.html#flag_p">[P]</a> qui permet de faire passer les URIs
 r&eacute;&eacute;crits par <module>mod_proxy</module>.</p>
 
-<example>
+<highlight language="config">
 RewriteRule ^/?images(.*) http://serveur-images.local/images$1 [P]
-</example>
+</highlight>
 
 <p>Cependant, dans les nombreux cas o&ugrave; aucune correspondance au mod&egrave;le
 n'est vraiment n&eacute;cessaire, comme dans l'exemple ci-dessus, il est
@@ -201,9 +199,9 @@ pr&eacute;f&eacute;rable d'utiliser la directive <directive
 module="mod_proxy">ProxyPass</directive>. L'exemple pr&eacute;c&eacute;dent pourrait
 &ecirc;tre remplac&eacute; par :</p>
 
-<example>
+<highlight language="config">
 ProxyPass /images/ http://serveur-images.local/images/
-</example>
+</highlight>
 
 <p>Que vous utilisiez <directive
 module="mod_rewrite">RewriteRule</directive> ou <directive
@@ -212,9 +210,9 @@ utiliser aussi la directive <directive
 module="mod_proxy">ProxyPassReverse</directive> pour intercepter les
 redirections en provenance du serveur d'arri&egrave;re-plan :</p>
 
-<example>
+<highlight language="config">
 ProxyPassReverse /images/ http://serveur-images.local/images/
-</example>
+</highlight>
 
 <p>Vous devrez cependant tout de m&ecirc;me utiliser <code>RewriteRule</code>
 lorsque d'autres <code>RewriteRule</code>s se trouvent dans la m&ecirc;me port&eacute;e,
@@ -238,14 +236,14 @@ d'h&ocirc;te canonique, tel que <code>www.example.com</code> au lieu de
 directive <directive module="core" type="section">If</directive> comme
 suit :</p>
 
-<example>
-&lt;If "$req{Host} != 'www.example.com'"&gt;<br />
-RedirectMatch (.*) http://www.example.com$1<br />
+<highlight language="config">
+&lt;If "req('Host') != 'www.example.com'"&gt;
+    Redirect / http://www.example.com
 &lt;/If&gt;
-</example>
+</highlight>
 
-<p>On peut utiliser cette technique dans de nombreux sc&eacute;narios courants
-en remplacement de <module>mod_rewrite</module> pour effectuer des actions
+<p>On peut utiliser cette technique dans de nombreux sc&eacute;narios courant
+pour remplacer <module>mod_rewrite</module> pour effectuer des actions
 en fonction d'en-t&ecirc;tes de requ&ecirc;tes ou de r&eacute;ponses, ou de variables
 d'environnement.</p>
 
index bb2c8818a0e68efe668523c0728dd8a9b116b65a..127a63eaaa7a4283e4c9bdfb767242b38e90f583 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1311806:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -49,9 +49,7 @@ correspondance</a></seealso>
 module="mod_rewrite">RewriteRule</directive> peut &ecirc;tre modifi&eacute; par un ou
 plusieurs drapeaux. Les drapeaux sont situ&eacute;s en fin de r&egrave;gle, entour&eacute;s
 de crochets, et s&eacute;par&eacute;s le cas &eacute;ch&eacute;ant par des virgules.</p>
-<example>
-RewriteRule mod&egrave;le cible [drapeau1,drapeau2,drapeau3]
-</example>
+<highlight language="config">RewriteRule pattern target [Flag1,Flag2,Flag3]</highlight>
 
 <p>Les drapeaux ont tous une forme courte, comme <code>CO</code>, ainsi
 qu'une forme longue, comme <code>cookie</code>. Certains drapeaux
@@ -86,9 +84,7 @@ ces derni&egrave;res sont appliqu&eacute;es. Avec le drapeau B, les caract&egrav
 non-alphanum&eacute;riques des r&eacute;f&eacute;rences arri&egrave;res seront &eacute;chapp&eacute;s. Consid&eacute;rons
 par exemple cette r&egrave;gle :</p>
 
-<example>
-RewriteRule ^search/(.*)$ /search.php?term=$1
-</example>
+<highlight language="config">RewriteRule ^search/(.*)$ /search.php?term=$1</highlight>
 
 <p>Soit le terme de recherche 'x &amp; y/z' ; un navigateur va le coder
 en 'x%20%26%20y%2Fz', transformant la requ&ecirc;te en
@@ -182,10 +178,10 @@ fonctionnalit&eacute;.</dd>
 
 <p>Voici un exemple :</p>
 
-<example>
-RewriteEngine On<br />
+<highlight language="config">
+RewriteEngine On
 RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
-</example>
+</highlight>
 
 <p>Dans l'exemple ci-dessus, la r&egrave;gle ne r&eacute;&eacute;crit
 pas la requ&ecirc;te. La cible de r&eacute;&eacute;criture "-"
@@ -302,9 +298,7 @@ Forbidden.</p>
 <p>La r&egrave;gle suivante va interdire la t&eacute;l&eacute;chargement de fichiers
 <code>.exe</code> depuis votre serveur.</p>
 
-<example>
-RewriteRule \.exe - [F]
-</example>
+<highlight language="config">RewriteRule \.exe - [F]</highlight>
 
 <p>Cet exemple utilise la syntaxe "-" pour la cible de r&eacute;&eacute;criture, ce
 qui signifie que l'URI de la requ&ecirc;te n'est pas modifi&eacute;. Il n'y a aucune
@@ -324,9 +318,7 @@ disponible auparavant ne l'est plus actuellement.</p>
 <p>Comme dans le cas du drapeau [F], on utilise en g&eacute;n&eacute;ral la syntaxe
 "-" pour la cible de r&eacute;&eacute;criture lorsqu'on utilise le drapeau [G] :</p>
 
-<example>
-RewriteRule ancienne-ressource - [G,NC]
-</example>
+<highlight language="config">RewriteRule oldproduct - [G,NC]</highlight>
 
 <p>Lorsqu'on utilise [G], [L] est implicite - c'est &agrave; dire que la
 r&eacute;ponse est renvoy&eacute;e imm&eacute;diatement, et aucune autre r&egrave;gle n'est &eacute;valu&eacute;e.</p>
@@ -339,9 +331,8 @@ sp&eacute;cifi&eacute;. Par exemple, on peut utiliser ce drapeau pour forcer
 l'interpr&eacute;tation de tous les fichiers sans extension par le gestionnaire
 php :</p>
 
-<example>
-RewriteRule !\. - [H=application/x-httpd-php]
-</example>
+<highlight language="config">RewriteRule !\. -
+[H=application/x-httpd-php]</highlight>
 
 <p>
 L'expression rationnelle ci-dessus - <code>!\.</code> - correspond &agrave;
@@ -354,9 +345,9 @@ faire en sorte que les fichiers <code>.php</code> soient
 <em>affich&eacute;s</em> par <code>mod_php</code> dans le cas o&ugrave; ils font
 l'objet d'une requ&ecirc;te avec l'extension <code>.phps</code> :</p>
 
-<example>
+<highlight language="config">
 RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
-</example>
+</highlight>
 
 
 <p>L'expression rationnelle ci-dessus -
@@ -415,11 +406,11 @@ module="mod_rewrite">RewriteCond</directive> permet de s'assurer que si
 la requ&ecirc;te concerne d&eacute;j&agrave; <code>index.php</code>, la directive <directive
 module="mod_rewrite">RewriteRule</directive> sera saut&eacute;e.</p>
 
-<example>
-RewriteBase /<br />
-RewriteCond %{REQUEST_URI} !=/index.php<br />
+<highlight language="config">
+RewriteBase /
+RewriteCond %{REQUEST_URI} !=/index.php
 RewriteRule ^(.*) /index.php?req=$1 [L,PT]
-</example>
+</highlight>
 </section>
 
 <section id="flag_n"><title>N|next</title>
@@ -436,9 +427,7 @@ suivant, chaque occurence de A sera remplac&eacute;e par B dans la requ&ecirc;te
 ceci jusqu'il n'y ait plus de A &agrave; remplacer.
 </p>
 
-<example>
-RewriteRule (.*)A(.*) $1B$2 [N]
-</example>
+<highlight language="config">RewriteRule (.*)A(.*) $1B$2 [N]</highlight>
 
 <p>Vous pouvez vous repr&eacute;senter ce traitement comme une boucle
 <code>while</code> : tant que le mod&egrave;le de la r&egrave;gle correspond (c'est &agrave;
@@ -460,9 +449,7 @@ transmise par Apache &agrave; votre serveur d'images d&eacute;di&eacute;. La cor
 insensible &agrave; la casse, si bien que par exemple, <code>.jpg</code> aussi
 bien que <code>.JPG</code> seront accept&eacute;s.</p>
 
-<example>
-RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
-</example>
+<highlight language="config">RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]</highlight>
 </section>
 
 <section id="flag_ne"><title>NE|noescape</title>
@@ -471,9 +458,7 @@ RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
 hexad&eacute;cimal. Le drapeau [NE] permet d'&eacute;viter cette conversion.
 </p>
 
-<example>
-RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R]
-</example>
+<highlight language="config">RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]</highlight>
 
 <p>
 Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est r&eacute;&eacute;crit en
@@ -518,9 +503,7 @@ mandataire. Par exemple, si vous voulez que toutes les requ&ecirc;tes d'images
 soient trait&eacute;es par un serveur d'images annexe, vous pouvez utiliser
 une r&egrave;gle de ce style :</p>
 
-<example>
-RewriteRule /(.*)\.(jpg|gif|png) http://images.example.com/$1.$2 [P]
-</example>
+<highlight language="config">RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]</highlight>
 
 <p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
 autrement dit, la requ&ecirc;te est imm&eacute;diatement envoy&eacute;e au mandataire, et
@@ -576,10 +559,10 @@ vous devez utiliser le drapeau [PT] pour &ecirc;tre s&ucirc;r que l'<directive
 module="mod_alias">Alias</directive> sera bien &eacute;valu&eacute;.
 </p>
 
-<example>
-Alias /icons /usr/local/apache/icons<br />
-RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT]
-</example>
+<highlight language="config">
+Alias /icons /usr/local/apache/icons
+RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]
+</highlight>
 
 <p>
 Dans l'exemple pr&eacute;c&eacute;dent, en l'absence du drapeau [PT], l'Alias aurait
@@ -611,9 +594,8 @@ Avec le drapeau [QSA], les cha&icirc;nes de requ&ecirc;te peuvent &ecirc;tre com
 
 <p>Consid&eacute;rons la r&egrave;gle suivante :</p>
 
-<example>
-RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
-</example>
+<highlight language="config">RewriteRule /pages/(.+) /page.php?page=$1
+[QSA]</highlight>
 
 <p>Avec le drapeau [QSA], une requ&ecirc;te pour
 <code>/pages/123?one=two</code> sera r&eacute;&eacute;crite en
@@ -694,17 +676,18 @@ Ceci peut s'interpr&eacute;ter comme une instruction
 l'exemple suivant, nous ne voulons ex&eacute;cuter la r&egrave;gle <directive
 module="mod_rewrite">RewriteRule</directive> que si l'URI demand&eacute; ne
 correspond pas &agrave; un fichier existant.</p>
-
-<example>
-# La requ&ecirc;te concerne-t-elle un fichier qui n'existe pas ?<br />
-RewriteCond %{REQUEST_FILENAME} !-f<br />
-RewriteCond %{REQUEST_FILENAME} !-d<br />
-# Si c'est la cas, on saute les deux r&egrave;gles de r&eacute;&eacute;criture suivantes<br />
-RewriteRule .? - [S=2]<br />
-<br />
-RewriteRule (.*\.gif) images.php?$1<br />
+<highlight language="config">
+# La requ&ecirc;te concerne-t-elle un fichier qui n'existe pas ?
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+# Si c'est la cas, on saute les deux r&egrave;gles de r&eacute;&eacute;criture suivantes
+RewriteRule .? - [S=2]
+
+RewriteRule (.*\.gif) images.php?$1
 RewriteRule (.*\.html) docs.php?$1
-</example>
+</highlight>
+
+
 
 <p>Cette technique trouve son utilit&eacute; dans le fait qu'une directive
 <directive module="mod_rewrite">RewriteCond</directive> ne s'applique
@@ -715,27 +698,22 @@ conditions et ajouter une <code>RewriteRule</code> avec le drapeau [Skip]. Cette
 d'&eacute;laborer des pseudo-constructions if-then-else : la derni&egrave;re r&egrave;gle du
 bloc then contiendra <code>skip=N</code>, o&ugrave; N est le nombre de r&egrave;gles
 contenues dans le bloc else :</p>
-<example>
-# Est-ce que le fichier existe ?<br />
-RewriteCond %{REQUEST_FILENAME} !-f<br />
-RewriteCond %{REQUEST_FILENAME} !-d<br />
-<!-- A traduire pour qui y comprend quelquechose -->
-# Create an if-then-else construct by skipping 3 lines if we meant to go to the &quot;else&quot; stanza.<br />
-RewriteRule .? - [S=3]<br />
-<br />
+<highlight language="config">
+# 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 &quot;else&quot; stanza.
+RewriteRule .? - [S=3]
+
 # Si le fichier existe, alors :
-<indent>
-       RewriteRule (.*\.gif) images.php?$1<br />
-       RewriteRule (.*\.html) docs.php?$1<br />
-       # Skip past the &quot;else&quot; stanza.<br />
-       RewriteRule .? - [S=1]<br />
-</indent>
+RewriteRule (.*\.gif) images.php?$1
+    RewriteRule (.*\.html) docs.php?$1
+    # Skip past the &quot;else&quot; stanza.
+    RewriteRule .? - [S=1]
 # ELSE...
-<indent>
-       RewriteRule (.*) 404.php?file=$1<br />
-</indent>
+RewriteRule (.*) 404.php?file=$1
 # END
-</example>
+</highlight>
 
 <p>Il est probablement plus ais&eacute; de d&eacute;finir ce genre de configuration
 via les directives <directive type="section">If</directive>, <directive
@@ -753,19 +731,19 @@ module="mod_mime">AddType</directive>.</p>
 du code source Perl en tant que plein texte, s'il est requis d'une
 certaine mani&egrave;re :</p>
 
-<example>
-# Sert les fichier .pl en tant que plein texte<br />
+<highlight language="config">
+# Sert les fichier .pl en tant que plein texte
 RewriteRule \.pl$ - [T=text/plain]
-</example>
+</highlight>
 
 <p>Ou encore, si vous poss&eacute;dez une cam&eacute;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 :</p>
 
-<example>
-# Les fichiers dont le nom contient 'IMG' sont des images jpg.<br />
+<highlight language="config">
+# Les fichiers dont le nom contient 'IMG' sont des images jpg.
 RewriteRule IMG - [T=image/jpg]
-</example>
+</highlight>
 
 <p>Notez cependant qu'il s'agit d'un exemple trivial, et que le probl&egrave;me
 aurait pu &ecirc;tre r&eacute;solu en utilisant &agrave; la place la directive <directive
index 43a4f317a8dc8275d4c066e972c03e813932a9b6..b9980d43851e3e1b8e918cda873c0f756e1a48ca 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1325683:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -206,12 +206,17 @@ transform&eacute;e;</li>
 <li><var>[drapeaux]</var>: options affectant la requ&ecirc;te r&eacute;&eacute;crite.</li>
 </ol>
 
-<p>Le <var>Mod&egrave;le</var> est toujours une <a href="#regex">expression
-rationnelle</a> compar&eacute;e au chemin de l'URL de la requ&ecirc;te entrante (la
+<p>Le <var>Mod&egrave;le</var> est une <a href="#regex">expression
+rationnelle</a>. Au sein de la premi&egrave;re r&egrave;gle de r&eacute;&eacute;criture, ou jusqu'&agrave;
+ce qu'une substitution survienne, elle est compar&eacute;e au chemin de
+l'URL de la requ&ecirc;te entrante (la
 partie situ&eacute;e apr&egrave;s le nom d'h&ocirc;te mais avant tout point d'interrogation
 qui indique le d&eacute;but d'une cha&icirc;ne de param&egrave;tres de
 requ&ecirc;te) ou, dans un contexte de r&eacute;pertoire, au chemin de la
-requ&ecirc;te relativement au r&eacute;pertoire pour lequel la r&egrave;gle est d&eacute;finie..</p>
+requ&ecirc;te relativement au r&eacute;pertoire pour lequel la
+r&egrave;gle est d&eacute;finie. Lorsqu'une substitution a eu lieu, les
+r&egrave;gles suivantes effectuent leurs comparaisons par rapport &agrave; la valeur
+substitu&eacute;e.</p>
 
 <p class="figure">
       <img src="../images/syntax_rewriterule.png"
@@ -225,9 +230,9 @@ trois types :</p>
 <dl>
 <dt>Un chemin complet du syst&egrave;me de fichiers vers une ressource</dt>
 <dd>
-<example>
+<highlight language="config">
 RewriteRule ^/jeux /usr/local/jeux/web
-</example>
+</highlight>
 <p>Ceci peut faire correspondre une requ&ecirc;te &agrave; toute localisation voulue de
 votre syst&egrave;me de fichiers, un peu comme la directive <directive
 module="mod_alias">Alias</directive>.</p>
@@ -235,9 +240,9 @@ module="mod_alias">Alias</directive>.</p>
 
 <dt>Un chemin web vers une ressource</dt>
 <dd>
-<example>
+<highlight language="config">
 RewriteRule ^/foo$ /bar
-</example>
+</highlight>
 <p>Si la directive <directive module="core">DocumentRoot</directive> a
 pour valeur <code>/usr/local/apache2/htdocs</code>, cette r&egrave;gle va faire
 correspondre les requ&ecirc;tes pour <code>http://example.com/foo</code> au
@@ -246,9 +251,9 @@ chemin <code>/usr/local/apache2/htdocs/bar</code>.</p>
 
 <dt>Une URL absolue</dt>
 <dd>
-<example>
+<highlight language="config">
 RewriteRule ^/produits/vues$ http://site2.example.com/voirproduits.html [R]
-</example>
+</highlight>
 <p>Ceci informe le client qu'il doit effectuer une nouvelle requ&ecirc;te vers
 l'URL sp&eacute;cifi&eacute;e.</p>
 </dd>
@@ -257,9 +262,9 @@ l'URL sp&eacute;cifi&eacute;e.</p>
 <p>La cha&icirc;ne de <var>Substitution</var> peut aussi contenir des
 <em>r&eacute;f&eacute;rences arri&egrave;res</em> vers des parties du chemin d'URL entrant
 correspondant au <var>Mod&egrave;le</var>. Consid&eacute;rons ce qui suit :</p>
-<example>
+<highlight language="config">
 RewriteRule ^/produits/(.*)/view$ /var/web/produitsdb/$1
-</example>
+</highlight>
 <p>La variable <code>$1</code> sera remplac&eacute;e par tout texte
 correspondant &agrave; l'expression situ&eacute;e entre les parenth&egrave;ses dans le
 <var>Mod&egrave;le</var>. Par exemple, une requ&ecirc;te pour
@@ -280,9 +285,9 @@ pr&eacute;sence d'un ou plusieurs drapeaux en fin de r&egrave;gle. Par exemple,
 conditions de correspondance d'une r&egrave;gle peuvent &ecirc;tre rendues
 insensibles &agrave; la casse par la pr&eacute;sence du drapeau <code>[NC]</code> :
 </p>
-<example>
+<highlight language="config">
 RewriteRule ^puppy.html petitchien.html [NC]
-</example>
+</highlight>
 
 <p>Pour une liste des drapeaux disponibles, leurs significations, et des
 exemples, voir le document <a href="flags.html">Drapeaux de
@@ -312,10 +317,10 @@ correspondance est &eacute;valu&eacute;e.</p>
 <p>Par exemple, pour renvoyer toutes les requ&ecirc;tes en provenance d'une
 certaine tranche d'adresses IP vers un autre serveur, vous pouvez
 utiliser :</p>
-<example>
-RewriteCond %{REMOTE_ADDR} ^10\.2\.<br />
+<highlight language="config">
+RewriteCond %{REMOTE_ADDR} ^10\.2\.
 RewriteRule (.*) http://intranet.example.com$1
-</example>
+</highlight>
 
 <p>Si vous sp&eacute;cifiez plus d'une directive <directive
 module="mod_rewrite">RewriteCond</directive>, ces directives
@@ -324,11 +329,11 @@ module="mod_rewrite">RewriteRule</directive> suivante s'applique. Par exemple,
 pour interdire les requ&ecirc;tes qui contiennent le mot "hack" dans la cha&icirc;ne
 de requ&ecirc;te, sauf si elles contiennent aussi un cookie contenant le mot
 "go", vous pouvez utiliser :</p>
-<example>
-RewriteCond %{QUERY_STRING} hack<br />
-RewriteCond %{HTTP_COOKIE} !go<br />
+<highlight language="config">
+RewriteCond %{QUERY_STRING} hack
+RewriteCond %{HTTP_COOKIE} !go
 RewriteRule . - [F]
-</example>
+</highlight>
 <p>Notez que le point d'exclamation indique une correspondance n&eacute;gative
 ; ainsi, la r&egrave;gle n'est appliqu&eacute;e que si le cookie ne contient pas "go"</p>
 
@@ -339,10 +344,10 @@ de la r&egrave;gle <directive module="mod_rewrite">RewriteRule</directive> via
 les variables <code>%1</code>, <code>%2</code>, etc... Par
 exemple, ce qui suit va diriger la requ&ecirc;te vers un r&eacute;pertoire diff&eacute;rent
 en fonction du nom d'h&ocirc;te utilis&eacute; pour acc&eacute;der au site :</p>
-<example>
-RewriteCond %{HTTP_HOST} (.*)<br />
+<highlight language="config">
+RewriteCond %{HTTP_HOST} (.*)
 RewriteRule ^/(.*) /sites/%1/$1
-</example>
+</highlight>
 <p>Si la requ&ecirc;te concernait <code>http://example.com/foo/bar</code>,
 alors <code>%1</code> contiendrait <code>example.com</code> et
 <code>$1</code> contiendrait <code>foo/bar</code>.</p>
index ae278501211a5d90b09fa98b9f6dc699c0aa99b8..35b6d54e4e894433516b0e3e2827890f80997375 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328589:1333999 (outdated) -->
+<!-- English revision : 1333999 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -185,11 +185,11 @@ HTTPS dans les hyperliens relatifs ?</title>
 hyperliens pleinement qualifi&eacute;s (car vous devez modifier le sch&eacute;ma de l'URL).
 Cependant, &agrave; l'aide du module <module>mod_rewrite</module>, vous pouvez
 manipuler des hyperliens relatifs, pour obtenir le m&ecirc;me effet.</p>
-    <example>
-    RewriteEngine on<br />
-    RewriteRule   ^/(.*)_SSL$   https://%{SERVER_NAME}/$1 [R,L]<br />
-    RewriteRule   ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1  [R,L]
-    </example>
+    <highlight language="config">
+RewriteEngine on
+RewriteRule   ^/(.*)_SSL$   https://%{SERVER_NAME}/$1 [R,L]
+RewriteRule   ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1  [R,L]
+    </highlight>
 
     <p>Ce jeu de r&egrave;gles rewrite vous permet d'utiliser des hyperliens de la
     forme <code>&lt;a href="document.html_SSL"&gt;</code> pour passer en HTTPS
@@ -269,10 +269,10 @@ fins de test ?</title>
                        -keyout server.key</strong></code><br />
        Ces fichiers seront utilis&eacute;s comme suit dans votre
        <code>httpd.conf</code> :
-        <pre>
-             SSLCertificateFile    /chemin/vers/server.crt
-             SSLCertificateKeyFile /chemin/vers/server.key
-       </pre>
+        <highlight language="config">
+SSLCertificateFile    /path/to/this/server.crt
+SSLCertificateKeyFile /path/to/this/server.key
+        </highlight>
     </li>
     <li>Il est important de savoir que le fichier <code>server.key</code> n'a
     <em>pas</em> de mot de passe. Pour ajouter un mot de passe &agrave; la cl&eacute;, vous
@@ -352,10 +352,10 @@ fins de test ?</title>
     <li>Vous devez maintenant disposer de deux fichiers :
     <code>server.key</code> et <code>server.crt</code>. Ils sont pr&eacute;cis&eacute;s dans
     votre fichier <code>httpd.conf</code> comme suit :
-       <pre>
-       SSLCertificateFile    /chemin/vers/server.crt
-       SSLCertificateKeyFile /chemin vers/server.key
-       </pre>
+       <highlight language="config">
+SSLCertificateFile    /path/to/this/server.crt
+SSLCertificateKeyFile /path/to/this/server.key
+       </highlight>
        Le fichier <code>server.csr</code> n'est plus n&eacute;cessaire.
     </li>
 
@@ -705,9 +705,9 @@ pour diff&eacute;rencier plusieurs h&ocirc;tes virtuels ?</title>
     (sur le port 443). Mais dans ce cas, vous devez d&eacute;finir le num&eacute;ro de port
     non-SSL &agrave; l'aide de la directive NameVirtualHost dans ce style :</p>
 
-    <example>
+    <highlight language="config">
       NameVirtualHost 192.168.1.1:80
-    </example>
+    </highlight>
 
     <p>il existe d'autres solutions alternatives comme :</p>
 
@@ -764,11 +764,11 @@ versions de MSIE. Vous pouvez contourner ces probl&egrave;mes en interdisant
 ou l'envoi de messages de notification de fermeture de session SSL aux
 clients MSIE. Pour cela, vous pouvez utiliser la directive suivante
 dans votre section d'h&ocirc;te virtuel avec support SSL :</p>
-    <example>
-    SetEnvIf User-Agent "MSIE [2-5]" \<br />
-             nokeepalive ssl-unclean-shutdown \<br />
-             downgrade-1.0 force-response-1.0
-    </example>
+    <highlight language="config">
+SetEnvIf User-Agent "MSIE [2-5]" \
+         nokeepalive ssl-unclean-shutdown \
+         downgrade-1.0 force-response-1.0
+    </highlight>
     <p>En outre, certaines versions de MSIE ont des probl&egrave;mes avec des
     algorithmes de chiffrement particuliers. H&eacute;las, il n'est pas
     possible d'apporter une solution sp&eacute;cifique &agrave; MSIE pour ces
index 80cef908e2512e5babf8a9b38164d2f7ca0ac68c..723ca982bf822b0894ca205edaf63e2ca7cfe503 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328589:1333999 (outdated) -->
+<!-- English Revision : 1333999 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -42,17 +42,15 @@ mani&egrave;re plus approfondie.</p>
 <p>Votre configuration SSL doit comporter au moins les directives
 suivantes :</p>
 
-<example>
-   Listen 443
-   &lt;VirtualHost *:443&gt;<br />
-   <indent>
-        ServerName www.example.com<br />
-        SSLEngine on<br />
-        SSLCertificateFile /chemin/vers/www.example.com.cert<br />
-        SSLCertificateKeyFile /chemin/vers/www.example.com.key<br />
-   </indent>
-   &lt;/VirtualHost&gt;
-</example>
+<highlight language="config">
+Listen 443
+&lt;VirtualHost *:443&gt;
+    ServerName www.example.com
+    SSLEngine on
+    SSLCertificateFile /path/to/www.example.com.cert
+    SSLCertificateKeyFile /path/to/www.example.com.key
+&lt;/VirtualHost&gt;
+</highlight>
 
 </section>
 
@@ -73,9 +71,9 @@ acc&eacute;der &agrave; une URL particuli&egrave;re ?</a></li>
 que le chiffrement fort ?</title>
     <p>Les directives suivantes ne permettent que les
     chiffrements de plus haut niveau :</p>
-    <example><title>httpd.conf</title>
-      SSLCipherSuite HIGH:!aNULL:!MD5<br />
-    </example>
+    <highlight language="config">
+      SSLCipherSuite HIGH:!aNULL:!MD5
+    </highlight>
 </section>
 
 
@@ -84,10 +82,10 @@ que le chiffrement fort ?</title>
  rapidit&eacute; (le choix final sera op&eacute;r&eacute; par mod_ssl, dans la mesure ou le
  client les supporte) :</p>
 
-    <example><title>httpd.conf</title>
-      SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5<br />
-      SSLHonorCipherOrder on
-    </example>
+    <highlight language="config">
+SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on
+    </highlight>
 </section>
 
 <section id="strongurl">
@@ -103,16 +101,16 @@ acc&eacute;der &agrave; une URL particuli&egrave;re ?</title>
     <module>mod_ssl</module> peut alors forcer automatiquement une
     ren&eacute;gociation des param&egrave;tres SSL pour parvenir au but recherch&eacute;.
     Cette configuration peut se pr&eacute;senter comme suit :</p>
-    <example>
-      # soyons tr&egrave;s tol&eacute;rant a priori<br />
-      SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL<br />
-      <br />
-      &lt;Location /strong/area&gt;<br />
-      # sauf pour https://hostname/strong/area/ et ses sous-r&eacute;pertoires<br />
-      # qui exigent des chiffrements forts<br />
-      SSLCipherSuite HIGH:!aNULL:!MD5<br />
-      &lt;/Location&gt;
-    </example>
+    <highlight language="config">
+# soyons tr&egrave;s tol&eacute;rant a priori
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+&lt;Location /strong/area&gt;
+# sauf pour https://hostname/strong/area/ et ses sous-r&eacute;pertoires
+# qui exigent des chiffrements forts
+SSLCipherSuite HIGH:!aNULL:!MD5
+&lt;/Location&gt;
+    </highlight>
 </section>
 <!-- /ciphersuites -->
 
@@ -146,13 +144,13 @@ provenance de l'Internet ?</a></li>
     le certificat de votre propre autorit&eacute; de certification
     (<code>ca.crt</code>), et d'authentifier les clients &agrave; l'aide de ces
     certificats.</p>
-    <example><title>httpd.conf</title>
-      # exige un certificat client sign&eacute; par le certificat de votre CA<br />
-      # contenu dans ca.crt<br />
-      SSLVerifyClient require<br />
-      SSLVerifyDepth 1<br />
-      SSLCACertificateFile conf/ssl.crt/ca.crt
-    </example>
+    <highlight language="config">
+# exige un certificat client sign&eacute; par le certificat de votre CA
+# contenu dans ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile conf/ssl.crt/ca.crt
+    </highlight>
 </section>
 
 <section id="arbitraryclients">
@@ -165,15 +163,15 @@ mais autoriser quand-m&ecirc;me tout client anonyme
 URL particuli&egrave;re, vous pouvez utiliser les fonctionnalit&eacute;s de reconfiguration
 de <module>mod_ssl</module> en fonction du r&eacute;pertoire :</p>
 
-    <example><title>httpd.conf</title>
-    SSLVerifyClient none<br />
-    SSLCACertificateFile conf/ssl.crt/ca.crt<br />
-    <br />
-    &lt;Location /secure/area&gt;<br />
-    SSLVerifyClient require<br />
-    SSLVerifyDepth 1<br />
-    &lt;/Location&gt;<br />
-    </example>
+    <highlight language="config">
+SSLVerifyClient none
+SSLCACertificateFile conf/ssl.crt/ca.crt
+
+&lt;Location /secure/area&gt;
+SSLVerifyClient require
+SSLVerifyDepth 1
+&lt;/Location&gt;
+    </highlight>
 </section>
 
 <section id="certauthenticate">
@@ -195,23 +193,23 @@ l'acc&egrave;s au reste du serveur &agrave; tous les clients ?</title>
     de donn&eacute;es de mots de passe contenant <em>tous</em> les clients
     autoris&eacute;s, comme suit :</p>
 
-    <example><title>httpd.conf</title><pre>
+    <highlight language="config">
 SSLVerifyClient      none
 &lt;Directory /usr/local/apache2/htdocs/secure/area&gt;
-
 SSLVerifyClient      require
-SSLVerifyDepth       5
-SSLCACertificateFile conf/ssl.crt/ca.crt
-SSLCACertificatePath conf/ssl.crt
-SSLOptions           +FakeBasicAuth
-SSLRequireSSL
-AuthName             "Snake Oil Authentication"
-AuthType             Basic
-AuthBasicProvider    file
-AuthUserFile         /usr/local/apache2/conf/httpd.passwd
-Require              valid-user
-&lt;/Directory&gt;</pre>
-    </example>
+    SSLVerifyDepth       5
+    SSLCACertificateFile conf/ssl.crt/ca.crt
+    SSLCACertificatePath conf/ssl.crt
+    SSLOptions           +FakeBasicAuth
+    SSLRequireSSL
+    AuthName             "Snake Oil Authentication"
+    AuthType             Basic
+    AuthBasicProvider    file
+    AuthUserFile         /usr/local/apache2/conf/httpd.passwd
+    Require              valid-user
+&lt;/Directory&gt;
+    </highlight>
+    
 
     <p>Le mot de passe utilis&eacute; dans cet exemple correspond &agrave; la cha&icirc;ne de
     caract&egrave;res "password" chiffr&eacute;e en DES. Voir la documentation de la
@@ -230,10 +228,9 @@ Require              valid-user
     >SSLRequire</directive>, comme suit :</p>
 
 
-    <example><title>httpd.conf</title><pre>
+    <highlight language="config">
 SSLVerifyClient      none
 &lt;Directory /usr/local/apache2/htdocs/secure/area&gt;
-
   SSLVerifyClient      require
   SSLVerifyDepth       5
   SSLCACertificateFile conf/ssl.crt/ca.crt
@@ -242,8 +239,8 @@ SSLVerifyClient      none
   SSLRequireSSL
   SSLRequire       %{SSL_CLIENT_S_DN_O}  eq "Snake Oil, Ltd." \
                and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
-&lt;/Directory&gt;</pre>
-    </example>
+&lt;/Directory&gt;
+    </highlight>
 </section>
 
 <section id="intranet">
@@ -260,52 +257,52 @@ aux clients de l'intranet.</title>
    doivent se trouver en dehors de votre h&ocirc;te virtuel HTTPS, afin qu'elles
    s'appliquent &agrave; la fois &agrave; HTTP et HTTPS.</p>
 
-    <example><title>httpd.conf</title><pre>
+    <highlight language="config">
 SSLCACertificateFile conf/ssl.crt/company-ca.crt
 
 &lt;Directory /usr/local/apache2/htdocs&gt;
-#   En dehors de subarea, seul l'acc&egrave;s depuis l'intranet est autoris&eacute;
-Order                deny,allow
-Deny                 from all
-Allow                from 192.168.1.0/24
+#   En dehors de subarea, seul l'acc&egrave;s depuis l'intranet est
+#   autoris&eacute;
+    Order                deny,allow
+    Deny                 from all
+    Allow                from 192.168.1.0/24
 &lt;/Directory&gt;
 
 &lt;Directory /usr/local/apache2/htdocs/subarea&gt;
 #   Dans subarea, tout acc&egrave;s depuis l'intranet est autoris&eacute;
-#   mais depuis l'Internet, seul l'acc&egrave;s par HTTPS + chiffrement fort
- + Mot de passe
+#   mais depuis l'Internet, seul l'acc&egrave;s par HTTPS + chiffrement fort + Mot de passe
 #   ou HTTPS + chiffrement fort + certificat client n'est autoris&eacute;.
 
 #   Si HTTPS est utilis&eacute;, on s'assure que le niveau de chiffrement est fort.
 #   Autorise en plus les certificats clients comme une alternative &agrave;
 #   l'authentification basique.
-SSLVerifyClient      optional
-SSLVerifyDepth       1
-SSLOptions           +FakeBasicAuth +StrictRequire
-SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
-
-#   ON oblige les clients venant d'Internet &agrave; utiliser HTTPS
-RewriteEngine        on
-RewriteCond          %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$
-RewriteCond          %{HTTPS} !=on
-RewriteRule          . - [F]
-
-#   On permet l'acc&egrave;s soit sur les crit&egrave;res r&eacute;seaux, soit par authentification Basique
-Satisfy              any
-
-#   Contr&ocirc;le d'acc&egrave;s r&eacute;seau
-Order                deny,allow
-Deny                 from all
-Allow                192.168.1.0/24
-
-#   Configuration de l'authentification HTTP Basique
-AuthType             basic
-AuthName             "Protected Intranet Area"
-AuthBasicProvider    file
-AuthUserFile         conf/protected.passwd
-Require              valid-user
-&lt;/Directory&gt;</pre>
-    </example>
+    SSLVerifyClient      optional
+    SSLVerifyDepth       1
+    SSLOptions           +FakeBasicAuth +StrictRequire
+    SSLRequire           %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
+    
+    #   ON oblige les clients venant d'Internet &agrave; utiliser HTTPS
+    RewriteEngine        on
+    RewriteCond          %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$
+    RewriteCond          %{HTTPS} !=on
+    RewriteRule          . - [F]
+    
+    #   On permet l'acc&egrave;s soit sur les crit&egrave;res r&eacute;seaux, soit par authentification Basique
+    Satisfy              any
+    
+    #   Contr&ocirc;le d'acc&egrave;s r&eacute;seau
+    Order                deny,allow
+    Deny                 from all
+    Allow                192.168.1.0/24
+    
+    #   Configuration de l'authentification HTTP Basique
+    AuthType             basic
+    AuthName             "Protected Intranet Area"
+    AuthBasicProvider    file
+    AuthUserFile         conf/protected.passwd
+    Require              valid-user
+&lt;/Directory&gt;
+    </highlight>
 </section>
 </section>
 <!-- /access control -->
index 5b27116463e56d532f6432d70d542892c3860703..2fcdc2b0f5ce1d68b053b1ee5026de33a086d3c3 100644 (file)
@@ -3,7 +3,7 @@
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1038591:1334033 (outdated) -->
+<!-- English Revision: 1334033 -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
     <p>Si, par exemple, votre serveur web est configur&eacute; pour
     s'ex&eacute;cuter en tant que :</p>
 
-<example>
-    User www<br />
-    Group webgroup<br />
-</example>
+<highlight language="config">
+User www
+Group webgroup
+      </highlight>
 
     <p>et <program>suexec</program> se trouve &agrave;
     "/usr/local/apache2/bin/suexec", vous devez ex&eacute;cuter les
index f06fb9103531d8f19ec85625eb97609686c85836..5a6d88c1f3df4c7c7ea3add9ec62d303387ac0d5 100644 (file)
@@ -3,7 +3,7 @@
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1304987:1334033 (outdated) -->
+<!-- English Revision : 1334033 -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
@@ -91,14 +91,6 @@ fonctionnalit&eacute;s du serveur HTTP Apache 2.4</a></seealso>
 
       <li>configure: le jeu de modules "reallyall" ajoute les modules de
       d&eacute;veloppeur au jeu "all".</li>
-
-      <li>apr et apr-util: APR et APR-Util ne sont plus fournis dans le
-      paquet Apache httpd 2.4. Vous pouvez soit continuer &agrave; utiliser les
-      versions install&eacute;es, soit continuer &agrave; utiliser l'option du script
-      configure <code>--with-included-apr</code> apr&egrave;s avoir t&eacute;l&eacute;charg&eacute;s
-      les paquets apr/apr-util (depuis <a
-      href="http://apr.apache.org/">Apache
-      APR</a>), et les avoir d&eacute;compress&eacute;s dans <code>./srclib/</code>.</li>
     </ul>
 
   </section>
@@ -149,23 +141,31 @@ n&eacute;cessiter une mise &agrave; jour des fichiers de configuration de la ver
       <p>Dans cet exemple, toutes les requ&ecirc;tes sont rejet&eacute;es :</p>
       <example>
         <title>version 2.2 :</title>
-        Order deny,allow<br />
-        Deny from all
+        <highlight language="config">
+Order deny,allow
+Deny from all
+        </highlight>
       </example>
       <example>
         <title>version 2.4 :</title>
+       <highlight language="config">
         Require all denied
+       </highlight>
       </example>
 
       <p>Dans cet exemple, toutes les requ&ecirc;tes sont accept&eacute;es :</p>
       <example>
         <title>version 2.2 :</title>
-        Order allow,deny<br />
-        Allow from all
+        <highlight language="config">
+Order allow,deny
+Allow from all
+        </highlight>
       </example>
       <example>
         <title>version 2.4 :</title>
+       <highlight language="config">
         Require all granted
+       </highlight>
       </example>
 
       <p>Dans l'exemple suivant, tous les h&ocirc;tes du domaine example.org
@@ -173,13 +173,17 @@ n&eacute;cessiter une mise &agrave; jour des fichiers de configuration de la ver
 
       <example>
         <title>version 2.2 :</title>
-        Order Deny,Allow<br />
-        Deny from all<br />
-        Allow from example.org
+        <highlight language="config">
+Order Deny,Allow
+Deny from all
+Allow from example.org
+        </highlight>
       </example>
       <example>
         <title>version 2.4 :</title>
+       <highlight language="config">
         Require host example.org
+       </highlight>
       </example>
     </section>
 
@@ -355,6 +359,12 @@ n&eacute;cessiter une mise &agrave; jour des fichiers de configuration de la ver
       <directive module="mod_include">SSILegacyExprParser</directive> a
       &eacute;t&eacute; activ&eacute;e pour le r&eacute;pertoire contenant les pages d'erreur.
       </li>
+
+      <li>La fonctionnalit&eacute; fournie par <code>mod_authn_alias</code>
+      dans les pr&eacute;c&eacute;dentes versions (en fait la directive
+      <directive module="mod_authn_core">AuthnProviderAlias</directive>)
+      est maintenant fournie par <module>mod_authn_core</module>.  
+      </li>
     </ul>
 
     </section>
index 07124a3230748c8ad3645a91680f2a304d435e2b..8e465fc57d193e63e357854b46ea2377520c1c33 100644 (file)
@@ -3,7 +3,7 @@
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1310495:1334033 (outdated) -->
+<!-- English Revision: 1334033 -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
@@ -123,7 +123,7 @@ l'arborescence DocumentRoot</title>
     module="mod_alias">Alias</directive> pour rattacher toute portion
     du syst&egrave;me de fichiers &agrave; l'arborescence du site web. Par exemple, avec</p>
 
-<example>Alias /docs /var/web</example>
+<highlight language="config">Alias /docs /var/web</highlight>
 
     <p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
     correspondra au fichier <code>/var/web/dir/file.html</code>. La
@@ -140,8 +140,9 @@ l'arborescence DocumentRoot</title>
     sur les <glossary ref="regex">expressions rationnelles</glossary>.
     Par exemple,</p>
 
-<example>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
-      /home/$1/cgi-bin/$2</example>
+<highlight language="config">
+    ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)   /home/$1/cgi-bin/$2
+    </highlight>
 
     <p>fera correspondre une requ&ecirc;te du style
     <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
@@ -189,8 +190,9 @@ l'arborescence DocumentRoot</title>
     <code>/home/user/public_html/file.html</code>, utilisez la directive
     <code>AliasMatch</code> suivante :</p>
 
-<example>AliasMatch ^/upages/([a-zA-Z0-9]+)(/(.*))?$
-      /home/$1/public_html/$3</example>
+<highlight language="config">
+    AliasMatch ^/upages/([a-zA-Z0-9]+)(/(.*))?$   /home/$1/public_html/$3
+    </highlight>
 </section>
 
 <section id="redirect"><title>Redirection d'URL</title>
@@ -209,7 +211,9 @@ l'arborescence DocumentRoot</title>
     nouveau r&eacute;pertoire <code>/bar/</code>, vous pouvez demander aux clients
     de le requ&eacute;rir &agrave; sa nouvelle localisation comme suit :</p>
 
-<example>Redirect permanent /foo/ http://www.example.com/bar/</example>
+<highlight language="config">
+    Redirect permanent /foo/   http://www.example.com/bar/
+    </highlight>
 
     <p>Ceci aura pour effet de rediriger tout chemin d'URL commen&ccedil;ant par
     <code>/foo/</code> vers le m&ecirc;me chemin d'URL sur le serveur
@@ -224,14 +228,16 @@ l'arborescence DocumentRoot</title>
     laisser toutes les autres requ&ecirc;tes inchang&eacute;es, utilisez la
     configuration suivante :</p>
 
-<example>RedirectMatch permanent ^/$
-      http://www.example.com/startpage.html</example>
+<highlight language="config">
+   RedirectMatch permanent ^/$    http://www.example.com/startpage.html
+    </highlight>
 
     <p>De m&ecirc;me, pour rediriger temporairement toutes les pages d'un site
     vers une page particuli&egrave;re d'un autre site, utilisez ce qui suit :</p>
 
-<example>RedirectMatch temp .*
-      http://othersite.example.com/startpage.html</example>
+<highlight language="config">
+    RedirectMatch temp .*  http://othersite.example.com/startpage.html
+    </highlight>
 </section>
 
 <section id="proxy"><title>Mandataire inverse (Reverse Proxy)</title>
@@ -250,12 +256,12 @@ dans le r&eacute;pertoire
 <code>/bar/</code> sur <code>internal.example.com</code>
 et les renvoie au client comme s'ils appartenaient au serveur local.</p>
 
-<example>
+<highlight language="config">
 ProxyPass /foo/ http://internal.example.com/bar/<br />
 ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
 ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
 ProxyPassReverseCookiePath /foo/ /bar/
-</example>
+</highlight>
 
 <p>La directive <directive module="mod_proxy">ProxyPass</directive> configure
 le serveur pour rapatrier les documents appropri&eacute;s, alors que la directive
@@ -274,9 +280,9 @@ du serveur mandataire et effectuer sa requ&ecirc;te directement sur
 d'utres contenus) situ&eacute;s dans la page au moment o&ugrave; elle est envoy&eacute;e au
 client en utilisant le module <module>mod_substitute</module>.</p>
 
-<example>
+<highlight language="config">
 Substitute s/internal\.example\.com/www.example.com/i
-</example>
+</highlight>
 
 <p>Le module <module>mod_proxy_html</module> rend possible une r&eacute;&eacute;criture plus
 &eacute;labor&eacute;e des liens en HTML et XHTML. Il permet de cr&eacute;er des listes