<?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: 1328337:1331425 (outdated) -->
+<!-- English Revision : 1331425 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviwed by : Vincent Deffontaines -->
d'une directive <directive module="core">AllowOverride</directive>
du style :</p>
- <example>
- AllowOverride AuthConfig
- </example>
+ <highlight language="config">AllowOverride AuthConfig</highlight>
<p>Si vous avez l'intention d'ajouter les directives directement
dans le fichier de configuration principal, vous devrez bien entendu
fichier <code>httpd.conf</code> à l'intérieur d'une section <Directory
/usr/local/apache/htdocs/secret> :</p>
- <example>
- AuthType Basic<br />
- AuthName "Fichiers réservés"<br />
- # (La ligne suivante est facultative)<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- Require user rbowen
- </example>
+ <highlight language="config">
+AuthType Basic
+AuthName "Restricted Files"
+# (Following line optional)
+AuthBasicProvider file
+AuthUserFile /usr/local/apache/passwd/passwords
+Require user rbowen
+ </highlight>
<p>Examinons ces directives une à une. La directive <directive
module="mod_authn_core">AuthType</directive> définit la méthode
<p>Maintenant, vous devez modifier votre fichier
<code>.htaccess</code> comme suit :</p>
- <example>
- AuthType Basic<br />
- AuthName "By Invitation Only"<br />
- # Ligne facultative :<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- AuthGroupFile /usr/local/apache/passwd/groups<br />
- Require group Nom-de-groupe
- </example>
+ <highlight language="config">
+AuthType Basic
+AuthName "By Invitation Only"
+# Optional line:
+AuthBasicProvider file
+AuthUserFile /usr/local/apache/passwd/passwords
+AuthGroupFile /usr/local/apache/passwd/groups
+Require group GroupName
+ </highlight>
<p>Maintenant, quiconque appartient au groupe
<code>Nom-de-groupe</code>, et possède une entrée dans le fichier
l'accès à plusieurs personnes. Plutôt que de créer un fichier de
groupes, il vous suffit d'ajouter la directive suivante :</p>
- <example>
- Require valid-user
- </example>
+ <highlight language="config">Require valid-user</highlight>
<p>Le remplacement de la ligne <code>Require user rbowen</code> par
la ligne <code>Require valid-user</code> autorisera l'accès à
<p>Par exemple, pour sélectionner un fichier dbm à la place d'un
fichier texte :</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider dbm<br />
- AuthDBMUserFile /www/passwords/passwd.dbm<br />
- Require valid-user<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider dbm
+ AuthDBMUserFile /www/passwords/passwd.dbm
+ Require valid-user
+</Directory>
+ </highlight>
<p>D'autres options sont disponibles. Consultez la documentation de
<module>mod_authn_dbm</module> pour plus de détails.</p>
conjointement les fournisseurs d'authentification
file et LDAP :</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider file ldap<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- AuthLDAPURL ldap://ldaphost/o=yourorg<br />
- Require valid-user<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file ldap
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthLDAPURL ldap://ldaphost/o=yourorg
+ Require valid-user
+</Directory>
+ </highlight>
<p>Dans cet exemple, le fournisseur file va tenter d'authentifier
l'utilisateur en premier. S'il n'y parvient pas, le fournisseur LDAP
autorisation à base de fichier de groupes et une autorisation à base
de groupes LDAP.</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
AuthLDAPURL ldap://ldaphost/o=yourorg
- AuthGroupFile /usr/local/apache/passwd/groups<br />
- Require group GroupName<br />
- Require ldap-group cn=mygroup,o=yourorg<br />
- </indent>
- </Directory>
- </example>
+ AuthGroupFile /usr/local/apache/passwd/groups
+ Require group GroupName
+ Require ldap-group cn=mygroup,o=yourorg
+</Directory>
+ </highlight>
<p>Pour un scénario d'autorisation un peu plus avancé, des
directives de conteneur d'autorisation comme <directive
seront appelés dans le processus d'autorisation au cours du
traitement de la requête. Par exemple :</p>
- <example>
- Require ip <var>adresse</var>
- </example>
+ <highlight language="config">Require ip <var>address</var></highlight>
<p>où <var>adresse</var> est une adresse IP (ou une adresse IP
partielle) ou :</p>
- <example>
- Require host <var>nom_domaine</var>
- </example>
+ <highlight language="config">Require host <var>domain_name</var></highlight>
<p>où <var>nom_domaine</var> est un nom de domaine entièrement
qualifé (ou un nom de domaine partiel) ; vous pouvez indiquer
<p>Par exemple, si vous voulez rejeter les spams dont une
machine vous inonde, vous pouvez utiliser ceci :</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- Require not ip 10.252.46.165
- </indent>
- </RequireAll>
- </example>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ Require not ip 10.252.46.165
+</RequireAll>
+ </highlight>
<p>Ainsi, les visiteurs en provenance de cette adresse ne
pourront pas voir le contenu concerné par cette directive. Si,
par contre, vous connaissez le nom de la machine, vous pouvez
utiliser ceci :</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- Require not host <var>serveur.example.com</var>
- </indent>
- </RequireAll>
- </example>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ Require not host host.example.com
+</RequireAll>
+ </highlight>
<p>Et si vous voulez interdire l'accès à toutes les machines
d'un domaine, vous pouvez spécifier une partie seulement de
l'adresse ou du nom de domaine :</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- <RequireNone>
- <indent>
- Require ip 192.168.205<br />
- Require host phishers.example.com autres-idiots.exemple<br />
- Require host ke
- </indent>
- </RequireNone>
- </indent>
- </RequireAll>
- </example>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ <RequireNone>
+ Require ip 192.168.205
+ Require host phishers.example.com moreidiots.example
+ Require host ke
+ </RequireNone>
+</RequireAll>
+ </highlight>
<p>Dans l'exemple ci-dessus, on utilise la directive du
conteneur <directive module="mod_authz_core"
<?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:1331576 (outdated) -->
+<!-- English Revision : 1331576 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
commentée dans votre <code>httpd.conf</code>. Une directive correcte
doit ressembler à ceci :
- <example>
+ <highlight language="config">
LoadModule cgi_module modules/mod_cgi.so
- </example></note>
+ </highlight></note>
<section id="scriptalias">
<title>ScriptAlias</title>
module="mod_alias">ScriptAlias</directive> se présente comme suit
:</p>
- <example>
+ <highlight language="config">
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
- </example>
+ </highlight>
<p>Cet exemple est tiré de votre fichier de configuration
<code>httpd.conf</code> par défaut, si vous avez installé Apache
l'exécution des programmes CGI est permise depuis un répertoire
particulier :</p>
- <example>
- <Directory /usr/local/apache2/htdocs/un-repertoire><br />
- <indent>
- Options +ExecCGI<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /usr/local/apache2/htdocs/somedir>
+ Options +ExecCGI
+</Directory>
+ </highlight>
<p>La directive ci-dessus indique à Apache qu'il doit permettre
l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur
extension <code>cgi</code> ou <code>pl</code> en tant que
programmes CGI :</p>
- <example>
+ <highlight language="config">
AddHandler cgi-script .cgi .pl
- </example>
+ </highlight>
</section>
<section id="htaccess">
répertoire utilisateur, vous pouvez utiliser la configuration
suivante :</p>
- <example>
- <Directory /home/*/public_html><br/>
- <indent>
- Options +ExecCGI<br/>
- AddHandler cgi-script .cgi<br/>
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /home/*/public_html>
+ Options +ExecCGI
+ AddHandler cgi-script .cgi
+</Directory>
+ </highlight>
<p>Pour indiquer un sous-répertoire <code>cgi-bin</code> d'un
répertoire utilisateur où tout fichier sera traité en tant que
programme CGI, vous pouvez utiliser ceci :</p>
- <example>
- <Directory /home/*/public_html/cgi-bin><br/>
- <indent>
- Options ExecCGI<br/>
- SetHandler cgi-script<br/>
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /home/*/public_html/cgi-bin>
+ Options ExecCGI
+ SetHandler cgi-script
+</Directory>
+ </highlight>
</section>
<highlight language="perl">
#!/usr/bin/perl
print "Content-type: text/html\n\n";
-print "Bonjour tout le monde . . .";
+print "Hello, World.";
</highlight>
<p>Même si Perl ne vous est pas familier, vous devriez être
trouve à la première ligne de votre programme CGI et qui va
ressembler à ceci :</p>
- <example>
+ <highlight language="perl">
#!/usr/bin/perl
- </example>
+ </highlight>
<p>Assurez-vous qu'il s'agit bien du chemin correct vers
l'interpréteur.</p>
#!/usr/bin/perl
print "Content-type: text/html\n\n";
foreach $key (keys %ENV) {
- print "$key --> $ENV{$key}<br>";
+ print "$key --> $ENV{$key}<br>";
}
</highlight>
</section>
<?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: 1326216:1330277 (outdated) -->
+<!-- English Revision : 1330277 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<code>.config</code>, vous pouvez mettre ceci dans le fichier de
configuration de votre serveur :</p>
- <example>
+ <highlight language="config">
AccessFileName .config
- </example>
+ </highlight>
</note>
<p>En général, les fichiers <code>.htaccess</code> utilisent la même
<example><title>Contenu du fichier .htaccess dans
<code>/www/htdocs/exemple</code></title>
- AddType text/exemple .exm
+ <highlight language="config">AddType text/example .exm</highlight>
</example>
<example><title>Section de votre fichier
<code>httpd.conf</code></title>
- <Directory /www/htdocs/exemple><br />
- <indent>
- AddType text/exemple .exm<br />
- </indent>
- </Directory>
+ <highlight language="config">
+<Directory /www/htdocs/example><br />
+ AddType text/example .exm<br />
+</Directory>
+ </highlight>
</example>
<p>Cependant, la perte de performances sera moindre si vous
entièrement désactivée en définissant la directive <directive
module="core">AllowOverride</directive> à <code>none</code> :</p>
- <example>
- AllowOverride None
- </example>
+ <highlight language="config">AllowOverride None</highlight>
</section>
<section id="how"><title>Comment sont appliquées les directives ?</title>
<p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
fichier <code>.htaccess</code> contenant ce qui suit :</p>
- <example>
- Options +ExecCGI
- </example>
+ <highlight language="config">Options +ExecCGI</highlight>
<p>Note : "<code>AllowOverride Options</code>" doit être présent
pour permettre l'utilisation de la directive "<directive
trouve un fichier <code>.htaccess</code> contenant ce qui suit
:</p>
- <example>
- Options Includes
- </example>
+ <highlight language="config">Options Includes</highlight>
<p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
définition de toute autre option dans les fichiers
<code>.htaccess</code>, vous pouvez utiliser :</p>
- <example>
-<Directory /www/htdocs><br />
-<indent>
-Allowoverride All<br />
-</indent>
-</Directory><br />
-<br />
-<Location /><br />
-<indent>
-Options +IncludesNoExec -ExecCGI<br />
-</indent>
+ <highlight language="config">
+<Directory /www/htdocs>
+ Allowoverride All
+</Directory>
+
+<Location />
+ Options +IncludesNoExec -ExecCGI<br />
</Location>
- </example>
+ </highlight>
<note>Dans cet exemple, on considère que le chemin défini par la
directive <directive module="core">DocumentRoot</directive> est
<p>Contenu du fichier <code>.htaccess</code> :</p>
- <example>
- AuthType Basic<br />
- AuthName "Password Required"<br />
- AuthUserFile /www/passwords/password.file<br />
- AuthGroupFile /www/passwords/group.file<br />
- Require Group admins
- </example>
+ <highlight language="config">
+AuthType Basic
+AuthName "Password Required"
+AuthUserFile /www/passwords/password.file
+AuthGroupFile /www/passwords/group.file
+Require Group admins
+ </highlight>
<p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
pour que ces directives produisent leur effet.</p>
placées dans un fichier <code>.htaccess</code> enregistré dans le
répertoire considéré :</p>
- <example>
- Options +Includes<br />
- AddType text/html shtml<br />
- AddHandler server-parsed shtml
- </example>
+ <highlight language="config">
+Options +Includes
+AddType text/html shtml
+AddHandler server-parsed shtml
+ </highlight>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent être tous les deux présents pour que ces
dans un répertoire particulier. Pour y parvenir, vous pouvez
utiliser la configuration suivante :</p>
- <example>
- Options +ExecCGI<br />
- AddHandler cgi-script cgi pl
- </example>
+ <highlight language="config">
+Options +ExecCGI
+AddHandler cgi-script cgi pl
+ </highlight>
<p>Alternativement, si vous souhaitez que tous les fichiers d'un
répertoire donné soient considérés comme des programmes CGI, vous
pouvez utiliser la configuration suivante :</p>
- <example>
- Options +ExecCGI<br />
- SetHandler cgi-script
- </example>
+ <highlight language="config">
+Options +ExecCGI
+SetHandler cgi-script
+ </highlight>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent être tous les deux présents pour que ces
<?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:1330277 (outdated) -->
+<!-- English Revision : 1330277 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
interprété comme chemin relatif au répertoire home de l'utilisateur
considéré. Par exemple, avec cette configuration :</p>
- <example>
- UserDir public_html
- </example>
+ <highlight language="config">UserDir public_html</highlight>
<p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
correspondra au chemin fichier
sera construit en utilisant ce chemin, suivi du nom de l'utilisateur
considéré. Par exemple, avec cette configuration :</p>
- <example>
- UserDir /var/html
- </example>
+ <highlight language="config">UserDir /var/html</highlight>
<p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
correspondra au chemin fichier
remplacé par le nom de l'utilisateur dans le chemin du fichier
correspondant. Par exemple, avec cette configuration :</p>
- <example>
- UserDir /var/www/*/docs
- </example>
+ <highlight language="config">UserDir /var/www/*/docs</highlight>
<p>l'URL <code>http://example.com/~rbowen/fichier.html</code>
correspondra au chemin fichier
<p>On peut aussi définir plusieurs répertoires ou chemins de
répertoires.</p>
- <example>
- UserDir public_html /var/html
- </example>
+ <highlight language="config">UserDir public_html /var/html</highlight>
<p>Avec l'URL <code>http://example.com/~rbowen/fichier.html</code>,
Apache va rechercher <code>~rbowen</code>. S'il ne le trouve pas,
module="mod_userdir">UserDir</directive> pour rediriger les requêtes
relatives aux répertoires utilisateurs vers des URLs externes.</p>
- <example>
- UserDir http://exemple.org/users/*/
- </example>
+ <highlight language="config">UserDir http://example.org/users/*/</highlight>
<p>L'exemple ci-dessus va rediriger une requête pour
<code>http://example.com/~bob/abc.html</code> vers
vous pouvez définir quels utilisateurs sont autorisés à utiliser
cette fonctionnalité :</p>
- <example>
- UserDir disabled root jro fish
- </example>
+ <highlight language="config">UserDir disabled root jro fish</highlight>
<p>La configuration ci-dessus va autoriser l'utilisation de la
fonctionnalité pour tous les utilisateurs, à l'exception de ceux
utilisateurs sauf certains d'entre eux en utilisant une
configuration du style :</p>
- <example>
+ <highlight language="config">
UserDir disabled<br />
UserDir enabled rbowen krietz
- </example>
+ </highlight>
<p>Vous trouverez d'autres exemples dans la documentation de
<directive module="mod_userdir">UserDir</directive>.</p>
type="section">Directory</directive> pour activer CGI dans un
sous-répertoire particulier d'un répertoire home utilisateur.</p>
- <example>
- <Directory /home/*/public_html/cgi-bin/><br />
- Options ExecCGI<br />
- SetHandler cgi-script<br />
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /home/*/public_html/cgi-bin/>
+ Options ExecCGI
+ SetHandler cgi-script
+</Directory>
+ </highlight>
<p>Avec la configuration ci-dessus, et en supposant que
<code>UserDir</code> est défini à <code>public_html</code>, un
<?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:1331486 (outdated) -->
+<!-- English Revision : 1331486 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
devez ajouter la directive suivante dans votre fichier
<code>httpd.conf</code>, ou dans un fichier <code>.htaccess</code>
:</p>
-<example>
+<highlight language="config">
Options +Includes
-</example>
+</highlight>
<p>Cette directive indique à Apache que vous désirez permettre la
recherche de directives SSI lors de l'interprétation des fichiers.
directives SSI. Vous devez indiquer à Apache quels fichiers seront
concernés. Vous pouvez y parvenir en indiquant une extension, comme
<code>.shtml</code>, à l'aide des directives suivantes :</p>
-<example>
+<highlight language="config">
AddType text/html .shtml<br />
AddOutputFilter INCLUDES .shtml
-</example>
+</highlight>
<p>Un des désavantages de cette approche réside dans le fait que si
vous voulez ajouter des directives SSI à une page préexistante, vous
<p>Une autre méthode consiste à utiliser la directive <directive
module="mod_include">XBitHack</directive> :</p>
-<example>
+<highlight language="config">
XBitHack on
-</example>
+</highlight>
<p>La directive <directive module="mod_include">XBitHack</directive>
indique à Apache qu'il doit rechercher des directivves SSI dans les
<p>Vous pouvez ajouter les lignes suivantes dans votre fichier de
configuration :</p>
-<example>
+<highlight language="config">
BrowserMatchNoCase macintosh Mac<br />
BrowserMatchNoCase MSIE InternetExplorer
-</example>
+</highlight>
<p>Ces lignes définissent les variables d'environnement "Mac" et
"InternetExplorer" à true, si le client utilise InternetExplorer sur
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1036315:1330911 (outdated) -->
+<!-- English Revision : 1330911 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<p>Dans le fichier de configuration, associez les fichiers asis au
gestionnaire <code>send-as-is</code> comme ceci :</p>
- <example>AddHandler send-as-is asis</example>
+ <highlight language="config">AddHandler send-as-is asis</highlight>
<p>Le contenu de tout fichier possédant l'extension
<code>.asis</code> sera envoyé par Apache httpd au client pratiquement tel
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1305167:1330964 (outdated) -->
+<!-- English Revision: 1330964 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
définir la structure des sous-répertoires du répertoire racine
spécifié.</p>
- <example>
+ <highlight language="config">
CacheRoot c:/cacheroot
- </example>
+ </highlight>
</usage>
</directivesynopsis>
définir la taille minimale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
- <example>
+ <highlight language="config">
CacheMinFileSize 64
- </example>
+ </highlight>
</usage>
</directivesynopsis>
définir la taille maximale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
- <example>
+ <highlight language="config">
CacheMaxFileSize 64000
- </example>
+ </highlight>
</usage>
</directivesynopsis>
<directivesynopsis>
enregistrées dans le cache, et non lorsque les données sont servies à
partir du cache.</p>
- <example>
+ <highlight language="config">
CacheReadSize 102400
- </example>
+ </highlight>
</usage>
</directivesynopsis>
que le serveur n'effectue pas une mise en tampon excessive au cas
où les données arriveraient plus vite que prévu.</p>
- <example>
+ <highlight language="config">
CacheReadTime 1000
- </example>
+ </highlight>
</usage>
</directivesynopsis>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1238738:1331691 (outdated) -->
+<!-- English Revision : 1331691 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<p>La directive de base pour le chargement du module est</p>
-<example>
+<highlight language="config">
LoadModule lua_module modules/mod_lua.so
-</example>
+</highlight>
<p>
<code>mod_lua</code> fournit un gestionnaire nommé
<code>lua-script</code> qui peut être utilisé avec une directive
<code>AddHandler</code> :</p>
-<example>
+<highlight language="config">
AddHandler lua-script .lua
-</example>
+</highlight>
<p>
Ceci aura pour effet de faire traiter les requêtes pour les fichiers
<p>La structure request_rec possède (au minimum) les méthodes
suivantes :</p>
- <example>
+ <highlight language="lua">
r:addoutputfilter(name|function) -- ajoute un filtre en sortie
- </example>
+ </highlight>
- <example>
- r:parseargs() -- renvoie une table lua contenant les arguments
- de la chaîne de paramètres de la requête
- </example>
+ <highlight language="lua">
+ r:parseargs() -- returns a lua table containing the request's query string arguments
+ </highlight>
- <example>
- r:parsebody() -- interprète le corps de la requête en tant que
- méthode POST et renvoie une table lua
- </example>
+ <highlight language="lua">
+ r:parsebody() -- parse the request body as a POST and return a lua table
+ </highlight>
- <example>
+ <highlight language="lua">
r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse
- </example>
+ </highlight>
- <example>
+ <highlight language="lua">
r:write("une simple chaîne") -- affichage dans le
corps de la réponse
- </example>
+ </highlight>
</dd>
</dl>
Prenez garde aux problèmes de sécurité en écrivant vos expressions
rationnelles.</p>
<example><title>Exemples :</title>
- LuaMapHandler /(\w+)/(/w+) /scripts/$1.lua handle_$2
+ <highlight language="config">
+ LuaMapHandler /(\w+)/(\w+) /scripts/$1.lua handle_$2
+ </highlight>
</example>
<p>Cette directive va faire correspondre des uri comme
/photos/show?id=9 au fichier /scripts/photos.lua, et invoquera la
fonction de gestionnaire handle_show au niveau de la vm lua
après chargement de ce fichier.</p>
-<example>
+<highlight language="config">
LuaMapHandler /bingo /scripts/wombat.lua
-</example>
+</highlight>
<p>Cette directive invoquera la fonction "handle" qui est la
valeur par défaut si aucun nom de fonction spécifique n'est
spécifié.</p>
que lua. Ceci modifie le package.path dans les vms lua.</p>
<example><title>Exemples :</title>
- LuaPackagePath /scripts/lib/?.lua<br />
- LuaPackagePath /scripts/lib/?/init.lua
+ <highlight language="config">
+LuaPackagePath /scripts/lib/?.lua
+LuaPackagePath /scripts/lib/?/init.lua
+ </highlight>
</example>
</usage>
</directivesynopsis>
en développement.</p>
<example><title>Exemples :</title>
- LuaCodeCache stat<br />
- LuaCodeCache forever<br />
- LuaCodeCache never<br />
+ <highlight language="config">
+LuaCodeCache stat
+LuaCodeCache forever
+LuaCodeCache never
+ </highlight>
</example>
</usage>
<p>Exemple :</p>
-<example><pre>
+<highlight language="config">
# httpd.conf
LuaHookTranslateName /scripts/conf/hooks.lua silly_mapper
-</pre></example>
-
+</highlight>
+
<highlight language="lua">
-- /scripts/conf/hooks.lua --
require "apache2"
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1180828:1331227 (outdated) -->
+<!-- English Revision : 1331227 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
exemple qui définit netscape si le navigateur est Mozilla et non
MSIE.</p>
-<example>
- BrowserMatch ^Mozilla netscape<br />
- BrowserMatch MSIE !netscape<br />
-</example>
+<highlight language="config">
+BrowserMatch ^Mozilla netscape
+BrowserMatch MSIE !netscape
+</highlight>
</summary>
<seealso><a href="../env.html">Les variables d'environnement et le
d'environnement en fonction du contenu de l'en-tête de requête HTTP
<code>User-Agent</code>. Les deux lignes suivantes produisent le même
effet :</p>
-<example>
- BrowserMatchNoCase Robot est_un_robot<br />
- SetEnvIfNoCase User-Agent Robot est_un_robot<br />
-</example>
+<highlight language="config">
+BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+</highlight>
<p>Quelques exemples supplémentaires :</p>
-<example>
- BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
- BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
- BrowserMatch MSIE !javascript<br />
-</example>
+<highlight language="config">
+BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+BrowserMatch MSIE !javascript
+</highlight>
</usage>
</directivesynopsis>
identique sur le plan sémantique à la directive <directive
module="mod_setenvif">BrowserMatch</directive>. Elle permet
cependant une comparaison insensible à la casse. Par exemple :</p>
-<example>
- BrowserMatchNoCase mac platform=macintosh<br />
- BrowserMatchNoCase win platform=windows<br />
-</example>
+<highlight language="config">
+BrowserMatchNoCase mac platform=macintosh
+BrowserMatchNoCase win platform=windows
+</highlight>
<p>Les directives <directive>BrowserMatch</directive> et
<directive>BrowserMatchNoCase</directive> sont des cas particuliers
des directives <directive module="mod_setenvif">SetEnvIf</directive>
et <directive module="mod_setenvif">SetEnvIfNoCase</directive>.
Ainsi, les deux lignes suivantes produisent le même effet :</p>
-<example>
- BrowserMatchNoCase Robot est_un_robot<br />
- SetEnvIfNoCase User-Agent Robot est_un_robot<br />
-</example>
+<highlight language="config">
+BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+</highlight>
</usage>
</directivesynopsis>
sous-expressions entre parenthèses correspondantes de
<var>regex</var>.</p>
-<example>
-<title>Example:</title>
- SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
- SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
- SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
- :<br />
- SetEnvIf Referer www\.mon-domaine\.example\.com référant_intra_site<br />
- :<br />
- SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
- :<br />
- SetEnvIf ^TS ^[a-z] HAVE_TS<br />
-</example>
+<highlight language="config">
+SetEnvIf Request_URI "\.gif$" object_is_image=gif
+SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+
+SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
+
+SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+SetEnvIf ^TS ^[a-z] HAVE_TS
+</highlight>
<p>Les trois premières lignes définissent la variable
d'environnement <code>objet_est_une_image</code> si l'objet de la
d'environnement <em>env-variable</em> de la même manière que la
directive <directive>SetEnvIf</directive>.</p>
-<example>
+<highlight language="config">
SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
-</example>
+</highlight>
<p>Dans cet exemple, la variable d'environnement
<code>iso_delivered</code> est définie chaque fois que notre
l'adresse IP distante est une adresse privée au sens de la RFC 1918
:</p>
-<example>
+<highlight language="config">
SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
-</example>
+</highlight>
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
module="mod_setenvif">SetEnvIf</directive>, et ne s'en distingue que
par le fait que la comparaison des expressions rationnelles est
effectuée sans tenir compte de la casse. Par exemple :</p>
-<example>
+<highlight language="config">
SetEnvIfNoCase Host Example\.Org site=apache
-</example>
+</highlight>
<p>Cette ligne va définir la variable d'environnement
<code>site</code> avec la valeur "<code>example</code>" si le champ