diff options
author | Daniel Gruno <humbedooh@apache.org> | 2012-05-05 08:01:29 +0200 |
---|---|---|
committer | Daniel Gruno <humbedooh@apache.org> | 2012-05-05 08:01:29 +0200 |
commit | b5d8f91dd029495dae947b13312a117eab2ab824 (patch) | |
tree | 428dc7588ec3366a1b2313482ee22aeedba5d68a | |
parent | Update syntax highlighting for French translation (diff) | |
download | apache2-b5d8f91dd029495dae947b13312a117eab2ab824.tar.xz apache2-b5d8f91dd029495dae947b13312a117eab2ab824.zip |
xforms
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1334322 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | docs/manual/expr.xml.fr | 2 | ||||
-rw-r--r-- | docs/manual/misc/perf-tuning.html.fr | 257 | ||||
-rw-r--r-- | docs/manual/misc/security_tips.html.fr | 63 | ||||
-rw-r--r-- | docs/manual/mod/mod_remoteip.html.fr | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_remoteip.xml.meta | 2 | ||||
-rw-r--r-- | docs/manual/rewrite/flags.html.fr | 151 | ||||
-rw-r--r-- | docs/manual/rewrite/index.html.fr | 2 | ||||
-rw-r--r-- | docs/manual/rewrite/intro.html.fr | 50 | ||||
-rw-r--r-- | docs/manual/rewrite/intro.xml.meta | 2 | ||||
-rw-r--r-- | docs/manual/rewrite/tech.html.fr | 15 |
10 files changed, 252 insertions, 294 deletions
diff --git a/docs/manual/expr.xml.fr b/docs/manual/expr.xml.fr index 2c2085a8ac..d658e668c3 100644 --- a/docs/manual/expr.xml.fr +++ b/docs/manual/expr.xml.fr @@ -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: 1308400:1331257 (outdated) --> +<!-- English Revision: 1308400:1334066 (outdated) --> <!-- French translation : Lucien GENTIS --> <!-- Reviewed by : Vincent Deffontaines --> diff --git a/docs/manual/misc/perf-tuning.html.fr b/docs/manual/misc/perf-tuning.html.fr index 88972baa9a..15b09eb9a3 100644 --- a/docs/manual/misc/perf-tuning.html.fr +++ b/docs/manual/misc/perf-tuning.html.fr @@ -153,14 +153,13 @@ Voici un exemple qui désactive les recherches DNS sauf pour les fichiers <code>.html</code> et <code>.cgi</code> :</p> - <div class="example"><p><code> - HostnameLookups off<br /> - <Files ~ "\.(html|cgi)$"><br /> - <span class="indent"> - HostnameLookups on<br /> - </span> - </Files> - </code></p></div> + <pre class="prettyprint lang-config"> +HostnameLookups off +<Files ~ "\.(html|cgi)$"> + HostnameLookups on +</Files> + </pre> + <p>Mais même dans ce cas, si vous n'avez besoin de noms DNS que dans certains CGIs, vous pouvez effectuer l'appel à <code>gethostbyname</code> @@ -179,14 +178,13 @@ symboliques. Un appel supplémentaire par élément du chemin du fichier. Par exemple, si vous avez :</p> - <div class="example"><p><code> - DocumentRoot /www/htdocs<br /> - <Directory /><br /> - <span class="indent"> - Options SymLinksIfOwnerMatch<br /> - </span> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +DocumentRoot /www/htdocs +<Directory /> + Options SymLinksIfOwnerMatch +</Directory> + </pre> + <p>et si une requête demande l'URI <code>/index.html</code>, Apache effectuera un appel à <code>lstat(2)</code> pour @@ -197,20 +195,17 @@ vérifier la sécurité des liens symboliques, vous pouvez utiliser une configuration du style :</p> - <div class="example"><p><code> - DocumentRoot /www/htdocs<br /> - <Directory /><br /> - <span class="indent"> - Options FollowSymLinks<br /> - </span> - </Directory><br /> - <br /> - <Directory /www/htdocs><br /> - <span class="indent"> - Options -FollowSymLinks +SymLinksIfOwnerMatch<br /> - </span> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +DocumentRoot /www/htdocs +<Directory /> + Options FollowSymLinks +</Directory> + +<Directory /www/htdocs> + Options -FollowSymLinks +SymLinksIfOwnerMatch +</Directory> + </pre> + <p>Ceci évite au moins les vérifications supplémentaires pour le chemin défini par <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Notez que @@ -235,14 +230,13 @@ pour chaque élément du chemin du fichier demandé. Par exemple, si vous avez : </p> - <div class="example"><p><code> - DocumentRoot /www/htdocs<br /> - <Directory /><br /> - <span class="indent"> - AllowOverride all<br /> - </span> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +DocumentRoot /www/htdocs +<Directory /> + AllowOverride all +</Directory> + </pre> + <p>et qu'une requête demande l'URI <code>/index.html</code>, Apache tentera d'ouvrir <code>/.htaccess</code>, <code>/www/.htaccess</code>, @@ -264,15 +258,17 @@ Il y a cependant un cas dans lequel vous pouvez accélérer le serveur. Au lieu d'utiliser une directive générique comme :</p> - <div class="example"><p><code> + <pre class="prettyprint lang-config"> DirectoryIndex index - </code></p></div> + </pre> + <p>utilisez une liste explicite d'options :</p> - <div class="example"><p><code> + <pre class="prettyprint lang-config"> DirectoryIndex index.cgi index.pl index.shtml index.html - </code></p></div> + </pre> + <p>où vous placez le choix courant en première position.</p> @@ -617,39 +613,30 @@ (ces exemples ne sont pas extraits du code d'Apache, ils ne sont proposés qu'à des fins pédagogiques) :</p> - <div class="example"><p><code> - for (;;) {<br /> - <span class="indent"> - for (;;) {<br /> - <span class="indent"> - fd_set accept_fds;<br /> - <br /> - FD_ZERO (&accept_fds);<br /> - for (i = first_socket; i <= last_socket; ++i) {<br /> - <span class="indent"> - FD_SET (i, &accept_fds);<br /> - </span> - }<br /> - rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);<br /> - if (rc < 1) continue;<br /> - new_connection = -1;<br /> - for (i = first_socket; i <= last_socket; ++i) {<br /> - <span class="indent"> - if (FD_ISSET (i, &accept_fds)) {<br /> - <span class="indent"> - new_connection = accept (i, NULL, NULL);<br /> - if (new_connection != -1) break;<br /> - </span> - }<br /> - </span> - }<br /> - if (new_connection != -1) break;<br /> - </span> - }<br /> - process the new_connection;<br /> - </span> - } - </code></p></div> + <pre class="prettyprint lang-c"> +for (;;) { + for (;;) { + fd_set accept_fds; + + FD_ZERO (&accept_fds); + for (i = first_socket; i <= last_socket; ++i) { + FD_SET (i, &accept_fds); + } + rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); + if (rc < 1) continue; + new_connection = -1; + for (i = first_socket; i <= last_socket; ++i) { + if (FD_ISSET (i, &accept_fds)) { + new_connection = accept (i, NULL, NULL); + if (new_connection != -1) break; + } + } + if (new_connection != -1) break; + } + process the new_connection; +} + </pre> + <p>Mais cette implémentation rudimentaire présente une sérieuse lacune. Rappelez-vous que les processus enfants exécutent cette boucle au même @@ -688,41 +675,32 @@ entrées dans la boucle interne. La boucle ressemble à ceci (les différences sont mises en surbrillance) :</p> - <div class="example"><p><code> - for (;;) {<br /> - <span class="indent"> - <strong>accept_mutex_on ();</strong><br /> - for (;;) {<br /> - <span class="indent"> - fd_set accept_fds;<br /> - <br /> - FD_ZERO (&accept_fds);<br /> - for (i = first_socket; i <= last_socket; ++i) {<br /> - <span class="indent"> - FD_SET (i, &accept_fds);<br /> - </span> - }<br /> - rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);<br /> - if (rc < 1) continue;<br /> - new_connection = -1;<br /> - for (i = first_socket; i <= last_socket; ++i) {<br /> - <span class="indent"> - if (FD_ISSET (i, &accept_fds)) {<br /> - <span class="indent"> - new_connection = accept (i, NULL, NULL);<br /> - if (new_connection != -1) break;<br /> - </span> - }<br /> - </span> - }<br /> - if (new_connection != -1) break;<br /> - </span> - }<br /> - <strong>accept_mutex_off ();</strong><br /> - process the new_connection;<br /> - </span> - } - </code></p></div> + <pre class="prettyprint lang-c"> +for (;;) { + <strong>accept_mutex_on ();</strong> + for (;;) { + fd_set accept_fds; + + FD_ZERO (&accept_fds); + for (i = first_socket; i <= last_socket; ++i) { + FD_SET (i, &accept_fds); + } + rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); + if (rc < 1) continue; + new_connection = -1; + for (i = first_socket; i <= last_socket; ++i) { + if (FD_ISSET (i, &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; +} + </pre> + <p><a id="serialize" name="serialize">Les fonctions</a> <code>accept_mutex_on</code> et <code>accept_mutex_off</code> @@ -834,39 +812,32 @@ <code>http_main.c</code>). La fonction ressemble approximativement à ceci :</p> - <div class="example"><p><code> - void lingering_close (int s)<br /> - {<br /> - <span class="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 /> - <span class="indent"> - select (s for reading, 2 second timeout);<br /> - if (error) break;<br /> - if (s is ready for reading) {<br /> - <span class="indent"> - if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {<br /> - <span class="indent"> - break;<br /> - </span> - }<br /> - /* just toss away whatever is here */<br /> - </span> - }<br /> - </span> - }<br /> - <br /> - close (s);<br /> - </span> - } - </code></p></div> + <pre class="prettyprint lang-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)) <= 0) { + break; + } + /* just toss away whatever is here */ + } + } + + close (s); +} + </pre> + <p>Ceci ajoute naturellement un peu de charge à la fin d'une connexion, mais s'avère nécessaire pour une implémentation fiable. Comme HTTP/1.1 diff --git a/docs/manual/misc/security_tips.html.fr b/docs/manual/misc/security_tips.html.fr index eb563503cb..e4ee43bea0 100644 --- a/docs/manual/misc/security_tips.html.fr +++ b/docs/manual/misc/security_tips.html.fr @@ -345,11 +345,12 @@ <p>Ajoutez dans le fichier de configuration du serveur</p> - <div class="example"><p><code> - <Directory /> <br /> - AllowOverride None <br /> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +<Directory /> + AllowOverride None +</Directory> + </pre> + <p>Ceci interdit l'utilisation des fichiers <code>.htaccess</code> dans tous les répertoires, sauf ceux pour lesquels c'est explicitement @@ -378,28 +379,30 @@ fichiers. Pour l'éviter, ajoutez le bloc suivant à la configuration de votre serveur :</p> - <div class="example"><p><code> - <Directory /> <br /> - Order Deny,Allow <br /> - Deny from all <br /> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +<Directory /> +Order Deny,Allow +Deny from all +</Directory> + </pre> + <p>ceci va interdire l'accès par défaut à tous les fichiers du système de fichiers. Vous devrez ensuite ajouter les blocs <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> appropriés correspondant aux répertoires auxquels vous voulez autorisez l'accès. Par exemple,</p> - <div class="example"><p><code> - <Directory /usr/users/*/public_html> <br /> - Order Deny,Allow <br /> - Allow from all <br /> - </Directory> <br /> - <Directory /usr/local/httpd> <br /> - Order Deny,Allow <br /> - Allow from all <br /> - </Directory> - </code></p></div> + <pre class="prettyprint lang-config"> +<Directory /usr/users/*/public_html> + Order Deny,Allow + Allow from all +</Directory> +<Directory /usr/local/httpd> + Order Deny,Allow + Allow from all +</Directory> + </pre> + <p>Portez une attention particulière aux interactions entre les directives <code class="directive"><a href="../mod/core.html#location">Location</a></code> et @@ -414,9 +417,10 @@ fortement d'inclure la ligne suivante dans le fichier de configuration de votre serveur :</p> - <div class="example"><p><code> + <pre class="prettyprint lang-config"> UserDir disabled root - </code></p></div> + </pre> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> @@ -462,12 +466,13 @@ qui signifie que vous avez probablement mis en commentaire ce qui suit dans le fichier de configuration de votre serveur :</p> - <div class="example"><p><code> - <Files ".ht*"> <br /> - Order allow,deny <br /> - Deny from all <br /> - </Files> - </code></p></div> + <pre class="prettyprint lang-config"> +<Files ".ht*"> + Order allow,deny + Deny from all +</Files> + </pre> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> diff --git a/docs/manual/mod/mod_remoteip.html.fr b/docs/manual/mod/mod_remoteip.html.fr index 8297ff0901..c6dfe44cbf 100644 --- a/docs/manual/mod/mod_remoteip.html.fr +++ b/docs/manual/mod/mod_remoteip.html.fr @@ -27,8 +27,6 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p> </div> -<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version - anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Remplace l'adresse IP et le nom d'hôte apparents du client pour la requête par l'adresse IP présentée par un mandataire ou un répartiteur de charge via les en-têtes de la requête. diff --git a/docs/manual/mod/mod_remoteip.xml.meta b/docs/manual/mod/mod_remoteip.xml.meta index 771852e80c..1a7c78a9f1 100644 --- a/docs/manual/mod/mod_remoteip.xml.meta +++ b/docs/manual/mod/mod_remoteip.xml.meta @@ -8,6 +8,6 @@ <variants> <variant>en</variant> - <variant outdated="yes">fr</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/rewrite/flags.html.fr b/docs/manual/rewrite/flags.html.fr index eb4281c4a0..eba3d0a02b 100644 --- a/docs/manual/rewrite/flags.html.fr +++ b/docs/manual/rewrite/flags.html.fr @@ -54,7 +54,7 @@ des explications détaillées et des exemples.</p> <li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li> </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en -correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> +correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="introduction" id="introduction">Introduction</a></h2> @@ -97,9 +97,10 @@ ces dernières sont appliquées. Avec le drapeau B, les caractères non-alphanumériques des références arrières seront échappés. Considérons par exemple cette règle :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ^search/(.*)$ /search.php?term=$1 -</code></p></div> +</pre> + <p>Soit le terme de recherche 'x & y/z' ; un navigateur va le coder en 'x%20%26%20y%2Fz', transformant la requête en @@ -192,10 +193,11 @@ fonctionnalité.</dd> <p>Voici un exemple :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteEngine On<br /> RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/] -</code></p></div> +</pre> + <p>Dans l'exemple ci-dessus, la règle ne réécrit pas la requête. La cible de réécriture "-" @@ -282,10 +284,11 @@ avec une valeur de '1' si l'URI de la requête correspond à un fichier image. Cette variable d'environnement est ensuite utilisée pour exclure une telle requête du journal des accès.</p> -<div class="example"><p><code> -RewriteRule \.(png|gif|jpg) - [E=image:1]<br /> +<pre class="prettyprint lang-config"> +RewriteRule \.(png|gif|jpg) - [E=image:1] CustomLog logs/access_log combined env=!image -</code></p></div> +</pre> + <p>Notez que le même effet peut être obtenu à l'aide de la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. Cette technique @@ -312,9 +315,10 @@ Forbidden.</p> <p>La règle suivante va interdire la téléchargement de fichiers <code>.exe</code> depuis votre serveur.</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule \.exe - [F] -</code></p></div> +</pre> + <p>Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune @@ -334,9 +338,10 @@ disponible auparavant ne l'est plus actuellement.</p> <p>Comme dans le cas du drapeau [F], on utilise en général la syntaxe "-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ancienne-ressource - [G,NC] -</code></p></div> +</pre> + <p>Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p> @@ -349,9 +354,10 @@ spécifié. Par exemple, on peut utiliser ce drapeau pour forcer l'interprétation de tous les fichiers sans extension par le gestionnaire php :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule !\. - [H=application/x-httpd-php] -</code></p></div> +</pre> + <p> L'expression rationnelle ci-dessus - <code>!\.</code> - correspond à @@ -364,9 +370,10 @@ faire en sorte que les fichiers <code>.php</code> soient <em>affichés</em> par <code>mod_php</code> dans le cas où ils font l'objet d'une requête avec l'extension <code>.phps</code> :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source] -</code></p></div> +</pre> + <p>L'expression rationnelle ci-dessus - @@ -419,11 +426,12 @@ de requête en argument à <code>index.php</code> ; cependant, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> permet de s'assurer que si la requête concerne déjà <code>index.php</code>, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sera sautée.</p> -<div class="example"><p><code> -RewriteBase /<br /> -RewriteCond %{REQUEST_URI} !=/index.php<br /> +<pre class="prettyprint lang-config"> +RewriteBase / +RewriteCond %{REQUEST_URI} !=/index.php RewriteRule ^(.*) /index.php?req=$1 [L,PT] -</code></p></div> +</pre> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="flag_n" id="flag_n">N|next</a></h2> @@ -440,9 +448,10 @@ suivant, chaque occurence de A sera remplacée par B dans la requête, et ceci jusqu'il n'y ait plus de A à remplacer. </p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule (.*)A(.*) $1B$2 [N] -</code></p></div> +</pre> + <p>Vous pouvez vous représenter ce traitement comme une boucle <code>while</code> : tant que le modèle de la règle correspond (c'est à @@ -463,9 +472,10 @@ transmise par Apache à votre serveur d'images dédié. La correspondance est insensible à la casse, si bien que par exemple, <code>.jpg</code> aussi bien que <code>.JPG</code> seront acceptés.</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC] -</code></p></div> +</pre> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="flag_ne" id="flag_ne">NE|noescape</a></h2> @@ -474,9 +484,10 @@ RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC] hexadécimal. Le drapeau [NE] permet d'éviter cette conversion. </p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R] -</code></p></div> +</pre> + <p> Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est réécrit en @@ -521,9 +532,10 @@ mandataire. Par exemple, si vous voulez que toutes les requêtes d'images soient traitées par un serveur d'images annexe, vous pouvez utiliser une règle de ce style :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule /(.*)\.(jpg|gif|png) http://images.example.com/$1.$2 [P] -</code></p></div> +</pre> + <p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] - autrement dit, la requête est immédiatement envoyée au mandataire, et @@ -572,10 +584,11 @@ Si par exemple, vous avez un <code class="directive"><a href="../mod/mod_alias.h vous devez utiliser le drapeau [PT] pour être sûr que l'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> sera bien évalué. </p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> Alias /icons /usr/local/apache/icons<br /> RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT] -</code></p></div> +</pre> + <p> Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait @@ -605,9 +618,10 @@ Avec le drapeau [QSA], les chaînes de requête peuvent être combinées. <p>Considérons la règle suivante :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule /pages/(.+) /page.php?page=$1 [QSA] -</code></p></div> +</pre> + <p>Avec le drapeau [QSA], une requête pour <code>/pages/123?one=two</code> sera réécrite en @@ -687,16 +701,17 @@ Ceci peut s'interpréter comme une instruction l'exemple suivant, nous ne voulons exécuter la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que si l'URI demandé ne correspond pas à un fichier existant.</p> -<div class="example"><p><code> -# La requê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ègles de réécriture suivantes<br /> -RewriteRule .? - [S=2]<br /> -<br /> -RewriteRule (.*\.gif) images.php?$1<br /> +<pre class="prettyprint lang-config"> +# La requê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ègles de réécriture suivantes +RewriteRule .? - [S=2] + +RewriteRule (.*\.gif) images.php?$1 RewriteRule (.*\.html) docs.php?$1 -</code></p></div> +</pre> + <p>Cette technique trouve son utilité dans le fait qu'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne s'applique @@ -707,27 +722,24 @@ conditions et ajouter une <code>RewriteRule</code> avec le drapeau [Skip]. Cette d'élaborer des pseudo-constructions if-then-else : la dernière règle du bloc then contiendra <code>skip=N</code>, où N est le nombre de règles contenues dans le bloc else :</p> -<div class="example"><p><code> -# Est-ce que le fichier existe ?<br /> -RewriteCond %{REQUEST_FILENAME} !-f<br /> -RewriteCond %{REQUEST_FILENAME} !-d<br /> +<pre class="prettyprint lang-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 "else" stanza.<br /> -RewriteRule .? - [S=3]<br /> -<br /> +RewriteRule .? - [S=3] + # Si le fichier existe, alors : -<span class="indent"> - RewriteRule (.*\.gif) images.php?$1<br /> - RewriteRule (.*\.html) docs.php?$1<br /> - # Skip past the "else" stanza.<br /> - RewriteRule .? - [S=1]<br /> -</span> + RewriteRule (.*\.gif) images.php?$1 + RewriteRule (.*\.html) docs.php?$1 + # Skip past the "else" stanza. + RewriteRule .? - [S=1] # ELSE... -<span class="indent"> - RewriteRule (.*) 404.php?file=$1<br /> -</span> + RewriteRule (.*) 404.php?file=$1 # END -</code></p></div> +</pre> + <p>Il est probablement plus aisé de définir ce genre de configuration via les directives <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code>.</p> @@ -742,19 +754,21 @@ identique à celui de la directive <code class="directive"><a href="../mod/mod_mi du code source Perl en tant que plein texte, s'il est requis d'une certaine manière :</p> -<div class="example"><p><code> -# Sert les fichier .pl en tant que plein texte<br /> +<pre class="prettyprint lang-config"> +# Sert les fichier .pl en tant que plein texte RewriteRule \.pl$ - [T=text/plain] -</code></p></div> +</pre> + <p>Ou encore, si vous possédez une caméra qui produit des fichiers images jpeg sans extension, vous pouvez forcer le renvoi de ces images avec le type MIME correct en se basant sur le nom du fichier :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> # Les fichiers dont le nom contient 'IMG' sont des images jpg.<br /> RewriteRule IMG - [T=image/jpg] -</code></p></div> +</pre> + <p>Notez cependant qu'il s'agit d'un exemple trivial, et que le problème aurait pu être résolu en utilisant à la place la directive <code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>. Il faut toujours @@ -775,18 +789,7 @@ utiliser le drapeau <code>L</code> pour terminer la séquence <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/rewrite/flags.html" title="Français"> fr </a></p> -</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div id="disqus_thread" /><script type="text/javascript"> -var lang = 'fr'; -<!--//--><![CDATA[//><!-- -var disqus_shortname = 'httpd'; -var disqus_identifier = window.location.href.replace(/(current|trunk)/, "2.4").replace(/\/[a-z]{2}\//, "/") + '.' + lang; - -(function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); -//--><!]]></script></div><div id="footer"> +</div><div id="footer"> <p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== undefined) { diff --git a/docs/manual/rewrite/index.html.fr b/docs/manual/rewrite/index.html.fr index 17f318d943..a9eeba55ee 100644 --- a/docs/manual/rewrite/index.html.fr +++ b/docs/manual/rewrite/index.html.fr @@ -91,7 +91,7 @@ contrôle d'accès</a></li> <div id="quickview"><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation de référence de mod_rewrite</a></li><li><a href="../urlmapping.html">Mise en correspondance des URLs avec le système de fichiers</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">wiki mod_rewrite -</a></li><li><a href="../glossary.html">Glossaire</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> +</a></li><li><a href="../glossary.html">Glossaire</a></li></ul></div> </div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> | diff --git a/docs/manual/rewrite/intro.html.fr b/docs/manual/rewrite/intro.html.fr index e5e75f0996..cbc83df160 100644 --- a/docs/manual/rewrite/intro.html.fr +++ b/docs/manual/rewrite/intro.html.fr @@ -24,8 +24,6 @@ <p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/rewrite/intro.html" title="Français"> fr </a></p> </div> -<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version - anglaise pour les changements récents.</div> <p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit les concepts de base dont la @@ -44,7 +42,7 @@ pieds. <li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Fichiers .htaccess</a></li> </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en -correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> +correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="introduction" id="introduction">Introduction</a></h2> @@ -241,9 +239,10 @@ l'URL spécifiée.</p> <p>La chaîne de <var>Substitution</var> peut aussi contenir des <em>références arrières</em> vers des parties du chemin d'URL entrant correspondant au <var>Modèle</var>. Considérons ce qui suit :</p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ^/produits/(.*)/view$ /var/web/produitsdb/$1 -</code></p></div> +</pre> + <p>La variable <code>$1</code> sera remplacée par tout texte correspondant à l'expression située entre les parenthèses dans le <var>Modèle</var>. Par exemple, une requête pour @@ -263,9 +262,10 @@ présence d'un ou plusieurs drapeaux en fin de règle. Par exemple, les conditions de correspondance d'une règle peuvent être rendues insensibles à la casse par la présence du drapeau <code>[NC]</code> : </p> -<div class="example"><p><code> +<pre class="prettyprint lang-config"> RewriteRule ^puppy.html petitchien.html [NC] -</code></p></div> +</pre> + <p>Pour une liste des drapeaux disponibles, leurs significations, et des exemples, voir le document <a href="flags.html">Drapeaux de @@ -291,21 +291,23 @@ correspondance est évaluée.</p> <p>Par exemple, pour renvoyer toutes les requêtes en provenance d'une certaine tranche d'adresses IP vers un autre serveur, vous pouvez utiliser :</p> -<div class="example"><p><code> -RewriteCond %{REMOTE_ADDR} ^10\.2\.<br /> +<pre class="prettyprint lang-config"> +RewriteCond %{REMOTE_ADDR} ^10\.2\. RewriteRule (.*) http://intranet.example.com$1 -</code></p></div> +</pre> + <p>Si vous spécifiez plus d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, ces directives doivent toutes être satisfaites pour que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante s'applique. Par exemple, pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne de requête, sauf si elles contiennent aussi un cookie contenant le mot "go", vous pouvez utiliser :</p> -<div class="example"><p><code> -RewriteCond %{QUERY_STRING} hack<br /> -RewriteCond %{HTTP_COOKIE} !go<br /> +<pre class="prettyprint lang-config"> +RewriteCond %{QUERY_STRING} hack +RewriteCond %{HTTP_COOKIE} !go RewriteRule . - [F] -</code></p></div> +</pre> + <p>Notez que le point d'exclamation indique une correspondance négative ; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"</p> @@ -316,10 +318,11 @@ de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule les variables <code>%1</code>, <code>%2</code>, etc... Par exemple, ce qui suit va diriger la requête vers un répertoire différent en fonction du nom d'hôte utilisé pour accéder au site :</p> -<div class="example"><p><code> -RewriteCond %{HTTP_HOST} (.*)<br /> +<pre class="prettyprint lang-config"> +RewriteCond %{HTTP_HOST} (.*) RewriteRule ^/(.*) /sites/%1/$1 -</code></p></div> +</pre> + <p>Si la requê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> @@ -358,18 +361,7 @@ requête est correctement mise en correspondance.</p> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/rewrite/intro.html" title="Français"> fr </a></p> -</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div id="disqus_thread" /><script type="text/javascript"> -var lang = 'fr'; -<!--//--><![CDATA[//><!-- -var disqus_shortname = 'httpd'; -var disqus_identifier = window.location.href.replace(/(current|trunk)/, "2.4").replace(/\/[a-z]{2}\//, "/") + '.' + lang; - -(function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); -//--><!]]></script></div><div id="footer"> +</div><div id="footer"> <p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== undefined) { diff --git a/docs/manual/rewrite/intro.xml.meta b/docs/manual/rewrite/intro.xml.meta index ce245b2841..5aaac0fc86 100644 --- a/docs/manual/rewrite/intro.xml.meta +++ b/docs/manual/rewrite/intro.xml.meta @@ -8,6 +8,6 @@ <variants> <variant>en</variant> - <variant outdated="yes">fr</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/rewrite/tech.html.fr b/docs/manual/rewrite/tech.html.fr index ada7a7c607..7be9859d3e 100644 --- a/docs/manual/rewrite/tech.html.fr +++ b/docs/manual/rewrite/tech.html.fr @@ -31,7 +31,7 @@ module mod_rewrite et de la mise en correspondance des URLs</p> <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">Phases de l'API</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Traitement du jeu de règles</a></li> </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection et remise en -correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> +correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="InternalAPI" id="InternalAPI">Phases de l'API</a></h2> @@ -194,18 +194,7 @@ correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/rewrite/tech.html" title="Français"> fr </a></p> -</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div id="disqus_thread" /><script type="text/javascript"> -var lang = 'fr'; -<!--//--><![CDATA[//><!-- -var disqus_shortname = 'httpd'; -var disqus_identifier = window.location.href.replace(/(current|trunk)/, "2.4").replace(/\/[a-z]{2}\//, "/") + '.' + lang; - -(function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); -//--><!]]></script></div><div id="footer"> +</div><div id="footer"> <p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== undefined) { |