Commit 5f096234 authored by Lucien Gentis's avatar Lucien Gentis
Browse files

Updates.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1310381 13f79535-47bb-0310-9956-ffa450edef68
parent e39a8f4a
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision : 1301745 -->
<!-- English Revision : 1308110 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -3265,6 +3265,14 @@ serveurs virtuels &agrave; base de nom</description>
      # ...<br />
      &lt;/VirtualHost&gt;
    </example>

    <p>La recherche du serveur virtuel &agrave; base de nom qui correspond le
    mieux s'effectue selon l'ordre d'apparition des sections <directive
    type="section" module="core">virtualhost</directive> dans le fichier
    de configuration. Le premier serveur virtuel dont le <directive
    module="core">ServerName</directive> ou le <directive
    module="core">ServerAlias</directive> correspond est choisi, sans
    pr&eacute;f&eacute;rence si le nom contient des caract&egrave;res g&eacute;n&eacute;riques ou pas.</p>
</usage>
<seealso><directive module="core">UseCanonicalName</directive></seealso>
<seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
+34 −88
Original line number Diff line number Diff line
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision : 1296177 -->
<!-- English Revision : 1308341 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -630,105 +630,51 @@ recherche externe n'intervient qu'une seule fois !
<description>D&eacute;finit l'URL de base pour les r&eacute;&eacute;critures au niveau
r&eacute;pertoire</description>
<syntax>RewriteBase <em>chemin URL</em></syntax>
<default>Voir utilisation pour plus d'informations.</default>
<default>None</default>
<contextlist><context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>

<usage>
      <p>La directive <directive>RewriteBase</directive> d&eacute;finit
      explicitement l'URL de base pour les r&eacute;&eacute;critures au niveau du
      r&eacute;pertoire. Comme vous le verrez plus loin, la directive
      <directive module="mod_rewrite">RewriteRule</directive> peut
      &ecirc;tre utilis&eacute;e dans les fichiers de configuration au niveau du
      r&eacute;pertoire (<code>.htaccess</code>). Elle agit alors localement,
      en amputant le r&eacute;pertoire local de son pr&eacute;fixe avant traitement,
      et en n'appliquant les r&egrave;gles de r&eacute;&eacute;criture que sur ce qui reste
      de l'URL. Lorsque le traitement est termin&eacute;, le pr&eacute;fixe est
      automatiquement rajout&eacute; &agrave; l'URL. La valeur par d&eacute;faut est
      <directive>RewriteBase</directive>
      <em>chemin r&eacute;pertoire physique</em></p>

      <p>Lorsqu'une substitution intervient pour une nouvelle URL, ce
      module doit r&eacute;inject&eacute; l'URL dans le traitement du serveur. Pour
      y parvenir, il doit conna&icirc;tre le pr&eacute;fixe de l'URL ou l'URL de
      base correspondants. Par d&eacute;faut, le pr&eacute;fixe est le chemin du
      fichier correspondant lui-m&ecirc;me. <strong>Cependant, pour la
      plupart des sites web, les URLs ne correspondent PAS directement
      aux chemins des fichiers physiques, cette assertion s'av&egrave;re
      ainsi souvent fausse !</strong>. C'est pourquoi vous pouvez
      utiliser la directive <code>RewriteBase</code> pour sp&eacute;cifier
      le pr&eacute;fixe correct.</p>

<note> Si les URLs de votre serveur web ne correspondent
<strong>pas</strong> directement aux chemins physiques des fichiers,
vous devrez utiliser <directive>RewriteBase</directive> dans chaque
fichier <code>.htaccess</code> o&ugrave; vous voudrez utiliser des
directives <directive
module="mod_rewrite">RewriteRule</directive>.
</note>
      <p>La directive <directive>RewriteBase</directive> permet de
      sp&eacute;cifier le pr&eacute;fixe d'URL &agrave; utiliser dans un contexte de
      r&eacute;pertoire (htaccess) pour les directives
      <directive>RewriteRule</directive> qui r&eacute;&eacute;crivent vers un chemin
      relatif.</p>
      <p>Cette directive est <em>obligatoire</em> si vous utilisez un
      chemin relatif dans une substitution, et dans un contexte de
      r&eacute;pertoire (htaccess), sauf si au moins une de ces conditions est
      v&eacute;rifi&eacute;e :</p>
      <ul>
          <li>La requ&ecirc;te initiale, ainsi que la substitution, sont dans
	  la <directive module="core">DocumentRoot</directive> (c'est &agrave;
	  dire que pour y acc&eacute;der, il n'est pas n&eacute;cessaire d'utiliser
	  une directive telle qu'<directive
	  module="mod_alias">Alias</directive>).</li>
          <li>Le chemin du syst&egrave;me de fichiers vers le r&eacute;pertoire
	  contenant la <directive>RewriteRule</directive>, suffix&eacute; par
	  la substitution relative est aussi valide en tant qu'URL sur
	  le serveur (ce qui est rare).</li>
      </ul>

        <p> Par exemple, consid&eacute;rons le fichier de configuration de
	r&eacute;pertoire suivant :</p>
<p>Dans l'exemple ci-dessous, la directive
<directive>RewriteBase</directive> est n&eacute;cessaire afin d'&eacute;viter une
r&eacute;&eacute;criture en http://example.com/opt/myapp-1.2.3/welcome.html car la
ressource n'&eacute;tait pas relative &agrave; la racine des documents. Cette erreur
de configuration aurait conduit le serveur &agrave; rechercher un r&eacute;pertoire
"opt" &agrave; la racine des documents.</p>

<example>
<pre>
#
#  /abc/def/.htaccess -- fichier de configuration pour le r&eacute;pertoire
/abc/def
#  Rappel : /abc/def est le chemin physique de /xyz,
#  <em>ce qui veut dire</em> que la configuration du serveur comporte
#  une directive du style 'Alias /xyz /abc/def'.
#

DocumentRoot /var/www/example.com
Alias /myapp /opt/myapp-1.2.3
&lt;Directory /opt/myapp-1.2.3&gt;
RewriteEngine On

#  faisons savoir au serveur qu'on nous a atteint via /xyz et non par
#  le chemin physique /abc/def
RewriteBase   /xyz

#  maintenant les r&egrave;gles de r&eacute;&eacute;criture
RewriteRule   ^avant\.html$  apr&egrave;s.html
RewriteBase /myapp/
RewriteRule ^index\.html$  welcome.html 
&lt;/Directory&gt;
</pre>
</example>

        <p>Dans l'exemple pr&eacute;c&eacute;dent, une requ&ecirc;te pour
	<code>/xyz/avant.html</code> sera correctement r&eacute;&eacute;crite sous
	sous sa forme chemin physique
	<code>/abc/def/apr&egrave;s.html</code>.</p>

<note><title>Pour les hackers d'Apache</title>
<p>La liste suivante fournit des informations d&eacute;taill&eacute;es &agrave; propos des
&eacute;tapes du traitement interne :</p>
<pre>
Requ&ecirc;te :
  /xyz/avant.html

Traitement interne :
  /xyz/avant.html     -&gt; /abc/def/avant.html  (Alias au niveau serveur)
  /abc/def/avant.html -&gt; /abc/def/apr&egrave;s.html  (RewriteRule au niveau r&eacute;pertoire)
  /abc/def/apr&egrave;s.html -&gt; /xyz/apr&egrave;s.html      (RewriteBase au niveau r&eacute;pertoire)
  /xyz/apr&egrave;s.html     -&gt; /abc/def/apr&egrave;s.html  (Alias au niveau serveur)

R&eacute;sultat :
  /abc/def/apr&egrave;s.html

</pre>
              <p>Tout ceci para&icirc;t tr&egrave;s compliqu&eacute;, mais correspond
	      r&eacute;ellement au traitement interne d'Apache. Comme la
	      r&eacute;&eacute;criture au niveau du r&eacute;pertoire intervient plus tard
	      au cours du traitement, la requ&ecirc;te de r&eacute;&eacute;criture doit &ecirc;tre
	      r&eacute;inject&eacute;e dans le noyau d'Apache, comme s'il s'agissait
	      d'une nouvelle requ&ecirc;te (Voir les <a
	      href="../rewrite/tech.html">d&eacute;tails techniques &agrave;
	      propos de mod_rewrite</a>). La surcharge
	      correspondante n'est pas aussi importante qu'il n'y
	      para&icirc;t, car la r&eacute;injection est enti&egrave;rement prise en charge
	      en interne par Apache (comme c'est d'ailleurs le cas pour
	      de nombreuses autres op&eacute;rations effectu&eacute;es &agrave; l'int&eacute;rieur
	      d'Apache).</p>
</note>

</usage>

</directivesynopsis>
+11 −10
Original line number Diff line number Diff line
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- English Revision: 421100 -->
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1309686 -->
<!-- French translation by alain B, review by Vincent Deffontaines -->
<!-- Maintained by Lucien Gentis -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
@@ -98,7 +99,7 @@
    que le processus résident doit gérer. Par exemple&nbsp;:</p>

    <example>
    Listen www.smallco.com:80
    Listen 192.168.0.1:80
    </example>

    <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom 
@@ -124,18 +125,18 @@ r
    valeurs différentes pour chaque serveur virtuel. Par exemple&nbsp;:</p>

    <example>
    &lt;VirtualHost www.smallco.com&gt;<br />
    ServerAdmin webmaster@mail.smallco.com<br />
    &lt;VirtualHost 192.168.0.1:80&gt;<br />
    ServerAdmin webmaster@smallco.example.com<br />
    DocumentRoot /groups/smallco/www<br />
    ServerName www.smallco.com<br />
    ServerName smallco.example.com<br />
    ErrorLog /groups/smallco/logs/error_log<br />
    TransferLog /groups/smallco/logs/access_log<br />
    &lt;/VirtualHost&gt;<br />
		<br />
    &lt;VirtualHost www.baygroup.org&gt;<br />
    ServerAdmin webmaster@mail.baygroup.org<br />
    &lt;VirtualHost 192.168.0.2:80&gt;<br />
    ServerAdmin webmaster@baygroup.example.org<br />
    DocumentRoot /groups/baygroup/www<br />
    ServerName www.baygroup.org<br />
    ServerName baygroup.example.com<br />
    ErrorLog /groups/baygroup/logs/error_log<br />
    TransferLog /groups/baygroup/logs/access_log<br />
    &lt;/VirtualHost&gt;
@@ -162,7 +163,7 @@ r
    en remplacement depuis la version 2.0.</p>
 -->
    <p><directive module="mod_suexec">SuexecUserGroup</directive> peut être
    utilisée à l'intérieur d'une directive VirtualHost si l'exécution se fait
    utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait
    sous suEXEC. (Voir <a href="../suexec.html">suEXEC</a>).</p>

    <p><em>SÉCURITÉ&nbsp;:</em> lorsque vous spécifiez où écrire les