mirror of
				https://github.com/apache/httpd.git
				synced 2025-11-03 17:53:20 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1780462 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			362 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			362 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<?xml version="1.0"?>
 | 
						|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 | 
						|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
 | 
						|
<!-- English Revision : 1673945 -->
 | 
						|
<!-- French translation : Lucien GENTIS -->
 | 
						|
<!-- $LastChangedRevision: 2015041801 $ -->
 | 
						|
 | 
						|
<!--
 | 
						|
 Licensed to the Apache Software Foundation (ASF) under one or more
 | 
						|
 contributor license agreements.  See the NOTICE file distributed with
 | 
						|
 this work for additional information regarding copyright ownership.
 | 
						|
 The ASF licenses this file to You under the Apache License, Version 2.0
 | 
						|
 (the "License"); you may not use this file except in compliance with
 | 
						|
 the License.  You may obtain a copy of the License at
 | 
						|
 | 
						|
     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
 Unless required by applicable law or agreed to in writing, software
 | 
						|
 distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 See the License for the specific language governing permissions and
 | 
						|
 limitations under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<modulesynopsis metafile="mod_vhost_alias.xml.meta">
 | 
						|
 | 
						|
<name>mod_vhost_alias</name>
 | 
						|
<description>Permet de configurer dynamiquement l'hébergement virtuel de
 | 
						|
masse</description>
 | 
						|
<status>Extension</status>
 | 
						|
<sourcefile>mod_vhost_alias.c</sourcefile>
 | 
						|
<identifier>vhost_alias_module</identifier>
 | 
						|
 | 
						|
<summary>
 | 
						|
    <p>Ce module permet de créer des serveurs virtuels configurés
 | 
						|
    dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de
 | 
						|
    l'en-tête <code>Host:</code> de la requête HTTP comme partie du nom
 | 
						|
    de chemin afin de déterminer les fichiers à servir. Ceci facilite la
 | 
						|
    gestion d'un grand nombre de serveurs virtuels possèdant des
 | 
						|
    configurations similaires.</p>
 | 
						|
 | 
						|
    <note><title>Note</title>
 | 
						|
      <p>Si les modules <module>mod_alias</module> ou
 | 
						|
      <module>mod_userdir</module> sont utilisés pour traduire les URIs
 | 
						|
      en noms de fichiers, ils l'emportent sur les directives du module
 | 
						|
      <module>mod_vhost_alias</module> décrites ci-dessous. Par
 | 
						|
      exemple, la configuration suivante fera correspondre <code>
 | 
						|
      /cgi-bin/script.pl</code> à <code>
 | 
						|
      /usr/local/apache2/cgi-bin/script.pl</code> dans tous les cas :</p>
 | 
						|
 | 
						|
      <highlight language="config">
 | 
						|
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
 | 
						|
VirtualScriptAlias "/never/found/%0/cgi-bin/"
 | 
						|
      </highlight>
 | 
						|
    </note>
 | 
						|
</summary>
 | 
						|
 | 
						|
<seealso><directive module="core">UseCanonicalName</directive></seealso>
 | 
						|
<seealso><a href="../vhosts/mass.html">Configuration dynamique de
 | 
						|
l'hébergement virtuel de masse</a></seealso>
 | 
						|
 | 
						|
<section id="interpol">
 | 
						|
    <title>Interpolation du nom de répertoire</title>
 | 
						|
 | 
						|
    <p>Toutes les directives de ce module insèrent une chaîne dans un
 | 
						|
    nom de chemin. La chaîne insérée (que nous appellerons maintenant le
 | 
						|
    "nom") peux être soit le nom du serveur (voir la directive
 | 
						|
    <directive module="core">UseCanonicalName</directive> pour les
 | 
						|
    détails sur la manière dont il est déterminé), soit l'adresse IP du
 | 
						|
    serveur virtuel hébergé par le serveur sous la forme d'un quadruplet
 | 
						|
    d'octets séparés par des points. L'insertion est contrôlée par des
 | 
						|
    spécificateurs inspirés de <code>printf</code> et possèdant de
 | 
						|
    nombreux formats :</p>
 | 
						|
 | 
						|
<table>
 | 
						|
<columnspec><column width=".2"/><column width=".6"/></columnspec>
 | 
						|
<tr><td><code>%%</code></td>
 | 
						|
<td>insère un <code>%</code></td></tr>
 | 
						|
 | 
						|
<tr><td><code>%p</code></td>
 | 
						|
<td>insère le numéro de port du serveur virtuel</td></tr>
 | 
						|
 | 
						|
<tr><td><code>%N.M</code></td>
 | 
						|
<td>insère le nom (en partie)</td></tr>
 | 
						|
 | 
						|
</table>
 | 
						|
 | 
						|
    <p><code>N</code> et <code>M</code> permettent de spécifier des
 | 
						|
    sous-chaînes du nom. <code>N</code> sélectionne un des composants du
 | 
						|
    nom séparés par des points, et <code>M</code> sélectionne des
 | 
						|
    caractères à l'intérieur de ce que <code>N</code> a sélectionné.
 | 
						|
    <code>M</code> est optionnel et sa valeur par défaut est 0 s'il
 | 
						|
    n'est pas spécifié ; le point doit être présent si et seulement si
 | 
						|
    <code>M</code> l'est aussi. Les modes d'insertion sont les suivants
 | 
						|
    :</p>
 | 
						|
 | 
						|
    <table>
 | 
						|
      <columnspec><column width=".1"/><column width=".4"/></columnspec>
 | 
						|
      <tr><td><code>0</code></td>
 | 
						|
      <td>le nom en entier</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>1</code></td>
 | 
						|
      <td>la première partie</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>2</code></td>
 | 
						|
      <td>la seconde partie</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>-1</code></td>
 | 
						|
      <td>la dernière partir</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>-2</code></td>
 | 
						|
      <td>l'avant-dernière partie</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>2+</code></td>
 | 
						|
      <td>toutes les parties à partir de la seconde</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>-2+</code></td>
 | 
						|
      <td>toutes les parties jusqu'à l'avant-dernière</td></tr>
 | 
						|
 | 
						|
      <tr><td><code>1+</code> et <code>-1+</code></td>
 | 
						|
      <td>identique à <code>0</code></td></tr>
 | 
						|
    </table>
 | 
						|
 | 
						|
    <p>Si <code>N</code> ou <code>M</code> est plus grand que le nombre
 | 
						|
    de parties disponibles, seul un caractère de soulignement est
 | 
						|
    inséré.</p>
 | 
						|
 | 
						|
</section>
 | 
						|
 | 
						|
<section id="examples">
 | 
						|
    <title>Exemples</title>
 | 
						|
 | 
						|
    <p>Pour des serveurs virtuels simples à base de nom, utilisez les
 | 
						|
    directives suivantes dans le fichier de configuration de votre
 | 
						|
    serveur :</p>
 | 
						|
 | 
						|
    <highlight language="config">
 | 
						|
UseCanonicalName    Off
 | 
						|
VirtualDocumentRoot "/usr/local/apache/vhosts/%0"
 | 
						|
    </highlight>
 | 
						|
 | 
						|
    <p>Une requête pour
 | 
						|
    <code>http://www.example.com/repertoire/fichier.html</code>
 | 
						|
    concernera alors la ressource
 | 
						|
    <code>/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html</code>.
 | 
						|
    </p>
 | 
						|
 | 
						|
    <p>Pour un très grand nombre de serveurs virtuels, il est avantageux
 | 
						|
    d'organiser les fichiers de façon à réduire la taille du répertoire
 | 
						|
    <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes
 | 
						|
    dans votre fichier de configuration :</p>
 | 
						|
 | 
						|
    <highlight language="config">
 | 
						|
UseCanonicalName    Off
 | 
						|
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"
 | 
						|
    </highlight>
 | 
						|
 | 
						|
    <p>Une requête pour
 | 
						|
    <code>http://www.domaine.example.com/repertoire/fichier.html</code>
 | 
						|
    concernera alors la ressource
 | 
						|
    <code>/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html</code>.</p>
 | 
						|
 | 
						|
    <p>Une répartition plus régulière des fichiers peut être obtenue en
 | 
						|
    partant de la fin d'un composant du nom, comme dans l'exemple
 | 
						|
    suivant :</p>
 | 
						|
 | 
						|
<highlight language="config">
 | 
						|
    VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"
 | 
						|
</highlight>
 | 
						|
 | 
						|
    <p>La requête précédente concernerait alors
 | 
						|
    <code>/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html</code>.</p>
 | 
						|
 | 
						|
    <p>Vous pouvez aussi utiliser : </p>
 | 
						|
 | 
						|
<highlight language="config">
 | 
						|
    VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"
 | 
						|
</highlight>
 | 
						|
 | 
						|
    <p>La requête précédente concernerait alors
 | 
						|
    <code>/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html</code>.</p>
 | 
						|
 | 
						|
    <p>Une demande très courante des utilisateurs concerne la possibilité de
 | 
						|
    faire correspondre plusieurs racines de documents à plusieurs
 | 
						|
    domaines, sans avoir à se préoccuper de la longueur ou du nombre de
 | 
						|
    parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte
 | 
						|
    de la requête est <code>sub.www.domain.example.com</code> au lieu de
 | 
						|
    simplement <code>www.domain.example.com</code>, alors en utilisant
 | 
						|
    %3+, la racine des documents sera
 | 
						|
    <code>/usr/local/apache/vhosts/domain.example.com/...</code> au
 | 
						|
    lieu du répertoire <code>example.com</code> attendu. Dans ce genre
 | 
						|
    de situation, il peut s'avérer préférable d'utiliser la combinaison
 | 
						|
    <code>%-2.0.%-1.0</code> qui fournira toujours le nom de domaine et
 | 
						|
    le tld, par exemple <code>example.com</code> sans tenir compte du
 | 
						|
    nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions,
 | 
						|
    il est possible d'élaborer une configuration qui associera les
 | 
						|
    sous-domaines de premier, second et troisième niveau au même
 | 
						|
    répertoire :
 | 
						|
</p>
 | 
						|
<highlight language="config">
 | 
						|
    VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
 | 
						|
</highlight>
 | 
						|
<p>
 | 
						|
Dans l'exemple ci-dessus, <code>www.example.com</code>,
 | 
						|
<code>www.sub.example.com</code> ou <code>example.com</code>
 | 
						|
correspondront tous au répertoire
 | 
						|
<code>/usr/local/apache/vhosts/example.com</code>.
 | 
						|
</p>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez
 | 
						|
    insérer les lignes suivantes dans votre fichier de configuration
 | 
						|
    :</p>
 | 
						|
 | 
						|
    <highlight language="config">
 | 
						|
UseCanonicalName DNS
 | 
						|
VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs"
 | 
						|
VirtualScriptAliasIP  "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"
 | 
						|
    </highlight>
 | 
						|
 | 
						|
    <p>Si l'adresse IP de <code>www.domaine.example.com</code> est
 | 
						|
    10.20.30.40, une requête pour
 | 
						|
    <code>http://www.domaine.example.com/repertoire/fichier.html</code>
 | 
						|
    concernera la ressource
 | 
						|
    <code>/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html</code>.
 | 
						|
    Une requête pour
 | 
						|
    <code>http://www.domaine.example.com/cgi-bin/script.pl</code>
 | 
						|
    concernera la ressource
 | 
						|
    <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
 | 
						|
 | 
						|
    <p>Si vous voulez insérer le caractère <code>.</code> dans une
 | 
						|
    directive <code>VirtualDocumentRoot</code>, et si cela crée un
 | 
						|
    conflit avec un spécificateur <code>%</code>, vous pouvez contourner
 | 
						|
    le problème de la manière suivante :</p>
 | 
						|
 | 
						|
<highlight language="config">
 | 
						|
    VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"
 | 
						|
</highlight>
 | 
						|
 | 
						|
    <p>Une requête pour
 | 
						|
    <code>http://www.domaine.example.com/repertoire/fichier.html</code>
 | 
						|
    concernera alors la ressource
 | 
						|
    <code>/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html</code>.</p>
 | 
						|
 | 
						|
    <p>Les spécificateurs de format <code>%V</code> et <code>%A</code>
 | 
						|
    de la directive <directive
 | 
						|
    module="mod_log_config">LogFormat</directive> s'avèrent très utiles
 | 
						|
    lorsqu'ils sont utilisés en conjonction avec ce module.</p>
 | 
						|
</section>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>VirtualDocumentRoot</name>
 | 
						|
<description>Permet une configuration dynamique de la racine des
 | 
						|
documents d'un serveur virtuel donné</description>
 | 
						|
<syntax>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</syntax>
 | 
						|
<default>VirtualDocumentRoot none</default>
 | 
						|
<contextlist>
 | 
						|
<context>server config</context>
 | 
						|
<context>virtual host</context>
 | 
						|
</contextlist>
 | 
						|
 | 
						|
<usage>
 | 
						|
 | 
						|
    <p>La directive <directive>VirtualDocumentRoot</directive> vous
 | 
						|
    permet de spécifier où le serveur HTTP Apache pourra trouver vos
 | 
						|
    documents en se basant
 | 
						|
    sur le nom du serveur. Le résultat de l'expansion du
 | 
						|
    <em>répertoire-interpolé</em> est utilisé comme racine de
 | 
						|
    l'arborescence des documents d'une manière similaire à l'argument de
 | 
						|
    la directive <directive module="core">DocumentRoot</directive>. Si
 | 
						|
    <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la
 | 
						|
    directive <directive>VirtualDocumentRoot</directive> est désactivée.
 | 
						|
    Cette directive ne peut pas être utilisée dans le même contexte que
 | 
						|
    la directive <directive
 | 
						|
    module="mod_vhost_alias">VirtualDocumentRootIP</directive>.</p>
 | 
						|
 | 
						|
<note type="warning"><title>Note</title>
 | 
						|
La directive <directive>VirtualDocumentRoot</directive> l'emporte sur
 | 
						|
toute directive <directive module="core">DocumentRoot</directive>
 | 
						|
définie dans le même contexte ou dans des contextes enfants. Le fait de
 | 
						|
définir une directive <directive>VirtualDocumentRoot</directive> dans le
 | 
						|
contexte du serveur principal va effectivement l'emporter sur toute
 | 
						|
directive <directive module="core">DocumentRoot</directive> définie dans
 | 
						|
un serveur virtuel quelconque, si vous n'avez pas défini
 | 
						|
<directive>VirtualDocumentRoot</directive> à <code>None</code> dans ce
 | 
						|
serveur virtuel.
 | 
						|
</note>    
 | 
						|
 | 
						|
</usage>
 | 
						|
</directivesynopsis>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>VirtualDocumentRootIP</name>
 | 
						|
<description>Configuration dynamique de la racine des documents pour un
 | 
						|
serveur virtuel donné</description>
 | 
						|
<syntax>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</syntax>
 | 
						|
<default>VirtualDocumentRootIP none</default>
 | 
						|
<contextlist>
 | 
						|
<context>server config</context>
 | 
						|
<context>virtual host</context>
 | 
						|
</contextlist>
 | 
						|
 | 
						|
<usage>
 | 
						|
 | 
						|
<p>La directive <directive>VirtualDocumentRootIP</directive> est
 | 
						|
identique à la directive <directive
 | 
						|
module="mod_vhost_alias">VirtualDocumentRoot</directive> à l'exception
 | 
						|
près qu'elle utilise l'adresse IP du serveur virtuel pour
 | 
						|
l'interpolation du répertoire à la place du nom du serveur.</p>
 | 
						|
</usage>
 | 
						|
</directivesynopsis>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>VirtualScriptAlias</name>
 | 
						|
<description>Configuration dynamique du répertoire des scripts CGI pour
 | 
						|
un serveur virtuel donné</description>
 | 
						|
<syntax>VirtualScriptAlias <em>répertoire-interpolé</em>|none</syntax>
 | 
						|
<default>VirtualScriptAlias none</default>
 | 
						|
<contextlist>
 | 
						|
<context>server config</context>
 | 
						|
<context>virtual host</context>
 | 
						|
</contextlist>
 | 
						|
 | 
						|
<usage>
 | 
						|
 | 
						|
    <p>La directive <directive>VirtualScriptAlias</directive> vous
 | 
						|
    permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une
 | 
						|
    méthode similaire à celle qu'utilise la directive <directive
 | 
						|
    module="mod_vhost_alias">VirtualDocumentRoot</directive> pour les
 | 
						|
    autres documents. Elle recherche des requêtes dont l'URI commence
 | 
						|
    par <code>/cgi-bin/</code>, comme le ferait la directive <directive
 | 
						|
    module="mod_alias">ScriptAlias</directive>.</p>
 | 
						|
 | 
						|
</usage>
 | 
						|
</directivesynopsis>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>VirtualScriptAliasIP</name>
 | 
						|
<description>Configuration dynamique du répertoire des scripts CGI pour
 | 
						|
un serveur virtuel donné</description>
 | 
						|
<syntax>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</syntax>
 | 
						|
<default>VirtualScriptAliasIP none</default>
 | 
						|
<contextlist>
 | 
						|
<context>server config</context>
 | 
						|
<context>virtual host</context>
 | 
						|
</contextlist>
 | 
						|
 | 
						|
<usage>
 | 
						|
 | 
						|
    <p>La directive <directive>VirtualScriptAliasIP</directive> est
 | 
						|
    identique à la directive <directive
 | 
						|
    module="mod_vhost_alias">VirtualScriptAlias</directive> à
 | 
						|
    l'exception près qu'elle utilise l'adresse IP du serveur virtuel
 | 
						|
    pour l'interpolation du répertoire à la place du nom du serveur.</p>
 | 
						|
 | 
						|
    </usage>
 | 
						|
 | 
						|
</directivesynopsis>
 | 
						|
</modulesynopsis>
 | 
						|
 |