mod_lua.html.fr revision 8b0cf9104518fa524db3240c880bb22010ca4ecc
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess This file is generated from xml source: DO NOT EDIT
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<script src="/style/scripts/prettify.js" type="text/javascript">
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/images/favicon.ico" rel="shortcut icon" /></head>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.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>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<p><span>Langues Disponibles: </span><a href="/en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> |
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<a href="/fr/mod/mod_lua.html" title="Fran�ais"> fr </a></p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entr�e Lua dans diff�rentes parties du
0e13d2a04f8c7cb647556e890bb69d5789a31ce1nd<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Exp�rimental</td></tr>
2bd55c0d474884fe40c4a081efcbd82bc1c913a8rbowen<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>lua_module</td></tr>
b21197dc8e6b8c764fdcc24d4bae8b0eebb6bc4end<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_lua.c</td></tr>
2bd55c0d474884fe40c4a081efcbd82bc1c913a8rbowen<tr><th><a href="module-dict.html#Compatibility">Compatibilit�:</a></th><td>versions 2.3 et sup�rieures</td></tr></table>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<p>Ce module permet d'ajouter au serveur des extensions sous forme de
10ca15b877e1d7f36b5d4ccd0a38e984cd635da4rbowenscripts �crits dans le langage de programmation Lua.
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<code class="module"><a href="/mod/mod_lua.html">mod_lua</a></code> fournit de nombreuses extensions
10ca15b877e1d7f36b5d4ccd0a38e984cd635da4rbowen(hooks) disponibles avec les modules natifs du serveur HTTP Apache,
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowencomme les associations de requ�tes � des fichiers, la g�n�ration de
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowenr�ponses dynamiques, le contr�le d'acc�s, l'authentification et
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowenl'autorisation.</p>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<p>Vous trouverez davantage d'informations � propos du langage de
5a58787efeb02a1c3f06569d019ad81fd2efa06endprogrammation Lua sur <a href="http://www.lua.org/">le site web de
be809bbd44119f26f27a701f6912d21f334d85ffrbowen<div class="note"><code>mod_lua</code> est encore au stade exp�rimental. Son mode
ae89c529be7bde57cc051ec8f85da6fddd502926erikabeled'utilisation et son comportement pourront changer � tout moment jusqu'�
5a58787efeb02a1c3f06569d019ad81fd2efa06endce qu'il passe au stade stable, et ce m�me entre deux versions stables
5a58787efeb02a1c3f06569d019ad81fd2efa06end2.4.x. N'oublez pas de consulter le fichier CHANGES avant toute mise �
5a58787efeb02a1c3f06569d019ad81fd2efa06endjour.</div>
2bd55c0d474884fe40c4a081efcbd82bc1c913a8rbowen<p>Ce module poss�de une grande capacit� d'action sur le fonctrionnement
2bd55c0d474884fe40c4a081efcbd82bc1c913a8rbowende httpd, ce qui lui conf�re une grande puissance, mais peut aussi
10ca15b877e1d7f36b5d4ccd0a38e984cd635da4rboweninduire un risque de s�curit�. Il est d�conseill� d'utiliser ce module
10ca15b877e1d7f36b5d4ccd0a38e984cd635da4rbowensur un serveur partag� avec des utilisateurs auxquels vous ne pouvez pas
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kessaccorder une confiance absolue, car il peut permettre de modifier le
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowenfonctionnement interne de httpd.</p>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<div id="quickview"><h3 class="directives">Directives</h3>
10ca15b877e1d7f36b5d4ccd0a38e984cd635da4rbowen<li><img alt="" src="/images/down.gif" /> <a href="#luaauthzprovider">LuaAuthzProvider</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luacodecache">LuaCodeCache</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luahookaccesschecker">LuaHookAccessChecker</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#luahookauthchecker">LuaHookAuthChecker</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#luahookcheckuserid">LuaHookCheckUserID</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#luahookfixups">LuaHookFixups</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luahookinsertfilter">LuaHookInsertFilter</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luahookmaptostorage">LuaHookMapToStorage</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#luahooktranslatename">LuaHookTranslateName</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#luahooktypechecker">LuaHookTypeChecker</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#luainherit">LuaInherit</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#luainputfilter">LuaInputFilter</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#luamaphandler">LuaMapHandler</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luaoutputfilter">LuaOutputFilter</a></li>
2eaf662cbc81e823e8d9aeb8d54e69e63032493erbowen<li><img alt="" src="/images/down.gif" /> <a href="#luapackagecpath">LuaPackageCPath</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#luapackagepath">LuaPackagePath</a></li>
b55e805b1e1f5258452901038edc7097056eba7eerikabele<li><img alt="" src="/images/down.gif" /> <a href="#luaquickhandler">LuaQuickHandler</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#luaroot">LuaRoot</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#luascope">LuaScope</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#basicconf">Configuration de base</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#writinghandlers">Ecrire des gestionnaires</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#writingauthzproviders">Ecriture de fournisseurs d'autorisation</a></li>
9bcfc3697a91b5215893a7d0206865b13fc72148nd<li><img alt="" src="/images/down.gif" /> <a href="#writinghooks">Ecriture de fonctions d'accroche
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#datastructures">Structures de donn�es</a></li>
48160cfe05c7614376dc7b1f57f5493eb73f06dbrbowen<li><img alt="" src="/images/down.gif" /> <a href="#functions">M�thodes de l'objet request_rec</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#logging">Fonctions de journalisation</a></li>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<li><img alt="" src="/images/down.gif" /> <a href="#apache2">Paquet apache2</a></li>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<li><img alt="" src="/images/down.gif" /> <a href="#modifying_buckets">Modification de contenu avec les filtres lua</a></li>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<li><img alt="" src="/images/down.gif" /> <a href="#databases">Connectivit� aux bases de donn�es</a></li>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
b95ae799514ad86a15610ad75808d7065e9847c9kess<h2><a name="basicconf" id="basicconf">Configuration de base</a></h2>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<p>La directive de base pour le chargement du module est</p>
r�ponse. <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> et
<code class="module"><a href="/mod/mod_status.html">mod_status</a></code> sont des exemples de modules comportant un
if r.method == 'GET' then
r:puts( string.format("%s: %s\n", k, v) )
elseif r.method == 'POST' then
r:puts( string.format("%s: %s\n", k, v) )
r:puts("Unsupported HTTP method " .. r.method)
<h2><a name="writingauthzproviders" id="writingauthzproviders">Ecriture de fournisseurs d'autorisation</a></h2>
<p><code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code> fournit une interface d'autorisation
correspondants. Le premier argument de la directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> permet de sp�cifier le
fournisseur d'autorisation � utiliser. Pour chaque directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code>,
<code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code> appellera le fournisseur d'autorisation
if r.useragent_ip == ip then
return apache2.AUTHZ_GRANTED
elseif r.user == nil then
return apache2.AUTHZ_DENIED_NO_USER
elseif r.user == user then
return apache2.AUTHZ_GRANTED
return apache2.AUTHZ_DENIED
LuaAuthzProvider foo authz_provider.lua authz_check_foo
<code class="module"><a href="/mod/mod_alias.html">mod_alias</a></code> et <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> qui
<td>fichiers fx. <code>.lua</code> ou directive <code class="directive"><a href="#luamaphandler">LuaMapHandler</a></code></td>
if r.uri == "/translate-name" then
return apache2.OK
return apache2.DECLINED
un apache2.DECLINED pour permettre � un autre interpr�teur d'URL de
if r.uri == "/translate-name" then
return apache2.DECLINED
return apache2.DECLINED
g�n�ral d�finie via les directives <code class="directive"><a href="/mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="/mod/core.html#sethandler">SetHandler</a></code>, mais peut aussi l'�tre
local url = "http://foo.bar/1 2 3 & 4 + 5"
local escaped = r:escape(url) -- returns 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'
local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5"
local unescaped = r:escape(url) -- returns 'http://foo.bar/1 2 3 & 4 + 5'
local mpm = r.mpm_query(14)
r:puts("Le serveur 1 a comme PID " .. process.pid)
r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son
�tat est " .. thread.status)
for k, v in pairs(mod.commands) do
r.strcmp_match(string, pattern) -- V�rifie si 'string' correspond �
r:puts("foobar.com matches foo*.com")
r.exists_config_define(string) -- V�rifie si une d�finition de
if r.exists_config_define("FOO") then
r:puts("Ce fichier existe et a �t� modifi� pour la derni�re fois � : " .. info.modified)
-- La valeur peut �tre sp�cifi�e sous la forme d'un nombre d�cimal comme 1.25 pour plus de pr�cision.
base de donn�es et renvoie une classe database. Voir '<a href="#databases">Connectivit� aux bases de donn�es</a>' pour plus de
<dt>apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE</dt>
<dd>Constantes internes utilis�es par <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt>apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER</dt>
<dd>constantes internes utilis�es par <code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code></dd>
<h2><a name="modifying_buckets" id="modifying_buckets">Modification de contenu avec les filtres lua</a></h2>
Les fonctions de filtrage impl�ment�es via les directives <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code> ou <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> sont con�ues comme des
-- Noter que les filtres de sortie sont les seuls capables d'ajouter des �l�ments au d�but des donn�es.
coroutine.yield([optional header to be prepended to the content])
coroutine.yield(output) -- Return our new content to the filter chain
coroutine.yield([optional footer to be appended to the content])
r:puts( string.format("Name: %s, Age: %s<br/>", row[1], row[2]) )
local result, errmsg = statement:select("John Doe", 123) -- injecte les valeurs "John Doe" et 123 dans la requ�te
<h3><a name="result_sets" id="result_sets">Travail avec les jeux d'enregistrements renvoy�s par les requ�tes</a></h3>
<h3><a name="closing_databases" id="closing_databases">Fermeture d'une connexion � une base de donn�es</a></h3>
<h3><a name="database_caveat" id="database_caveat">Pr�cautions � prendre lorsque l'on travaille avec les bases
<div class="directive-section"><h2><a name="LuaAuthzProvider" id="LuaAuthzProvider">LuaAuthzProvider</a> <a name="luaauthzprovider" id="luaauthzprovider">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Branche une fonction fournisseur d'autorisation dans <code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Disponible depuis la version 2.4.3 du serveur HTTP Apache</td></tr>
d'autorisation, elle peut �tre appel�e via la directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> :</p>
LuaAuthzProvider foo authz.lua authz_check_foo
return apache2.AUTHZ_GRANTED
<div class="directive-section"><h2><a name="LuaCodeCache" id="LuaCodeCache">LuaCodeCache</a> <a name="luacodecache" id="luacodecache">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure le cache de code compil�.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaCodeCache stat|forever|never</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>LuaCodeCache stat</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaHookAccessChecker" id="LuaHookAccessChecker">LuaHookAccessChecker</a> <a name="luahookaccesschecker" id="luahookaccesschecker">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase access_checker du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Le troisi�me argument optionnel est disponible depuis la
<div class="directive-section"><h2><a name="LuaHookAuthChecker" id="LuaHookAuthChecker">LuaHookAuthChecker</a> <a name="luahookauthchecker" id="luahookauthchecker">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase auth_checker du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Le troisi�me argument optionnel est disponible depuis la
auth = r.headers_in['Authorization']
r.user = 'foo'
if r.user == nil then
r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
elseif r.user == "foo" then
r:debug("authcheck: user='" .. r.user .. "'")
r.err_headers_out['WWW-Authenticate'] = 'Basic realm="WallyWorld"'
return apache2.OK
<div class="directive-section"><h2><a name="LuaHookCheckUserID" id="LuaHookCheckUserID">LuaHookCheckUserID</a> <a name="luahookcheckuserid" id="luahookcheckuserid">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase check_user_id du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookCheckUserID /chemin/vers/lua/script.lua hook_function_name [early|late]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Le troisi�me argument optionnel est disponible depuis la
<div class="directive-section"><h2><a name="LuaHookFixups" id="LuaHookFixups">LuaHookFixups</a> <a name="luahookfixups" id="luahookfixups">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase de correction du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaHookInsertFilter" id="LuaHookInsertFilter">LuaHookInsertFilter</a> <a name="luahookinsertfilter" id="luahookinsertfilter">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase insert_filter du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaHookMapToStorage" id="LuaHookMapToStorage">LuaHookMapToStorage</a> <a name="luahookmaptostorage" id="luahookmaptostorage">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase map_to_storage du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
local input = io.open(filename, "r")
if r.filename:match("%.png$") then -- Only match PNG files
local file = cached_files[r.filename] -- Check cache entries
file = read_file(r.filename) -- Read file into cache
r.status = 200
r:info(("Sent %s to client from cache"):format(r.filename))
return apache2.DONE -- skip default handler for PNG files
return apache2.DECLINED -- If we had nothing to do, let others serve this.
<div class="directive-section"><h2><a name="LuaHookTranslateName" id="LuaHookTranslateName">LuaHookTranslateName</a> <a name="luahooktranslatename" id="luahooktranslatename">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e � la phase du nom de
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Le troisi�me argument optionnel est disponible depuis la
ou une constante d�finie dans le module apache2 : apache2.OK,
d'entre eux renvoie apache2.OK. Si un hook n'effectuer pas la
traduction, il doit juste renvoyer apache2.DECLINED. Si le
if r.uri == "/" then
return apache2.OK
return apache2.DECLINED
utilis�e ni � l'int�rieur d'une section <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="/mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
<div class="directive-section"><h2><a name="LuaHookTypeChecker" id="LuaHookTypeChecker">LuaHookTypeChecker</a> <a name="luahooktypechecker" id="luahooktypechecker">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la phase type_checker du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaInherit" id="LuaInherit">LuaInherit</a> <a name="luainherit" id="luainherit">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contr�le la mani�re dont les sections de configuration
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInherit none|parent-first|parent-last</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>LuaInherit parent-first</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Versions 2.4.0 et sup�rieures</td></tr>
<div class="directive-section"><h2><a name="LuaInputFilter" id="LuaInputFilter">LuaInputFilter</a> <a name="luainputfilter" id="luainputfilter">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a Lua function for content input filtering</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>2.5.0 and later</td></tr>
<div class="directive-section"><h2><a name="LuaMapHandler" id="LuaMapHandler">LuaMapHandler</a> <a name="luamaphandler" id="luamaphandler">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance un chemin avec un gestionnaire lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaMapHandler modele-uri /chemin/vers/lua/script.lua
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
LuaMapHandler /(\w+)/(\w+) /scripts/$1.lua handle_$2
<div class="directive-section"><h2><a name="LuaOutputFilter" id="LuaOutputFilter">LuaOutputFilter</a> <a name="luaoutputfilter" id="luaoutputfilter">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Provide a Lua function for content output filtering</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaOutputFilter filter_name /path/to/lua/script.lua function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>2.5.0 and later</td></tr>
<div class="directive-section"><h2><a name="LuaPackageCPath" id="LuaPackageCPath">LuaPackageCPath</a> <a name="luapackagecpath" id="luapackagecpath">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un r�pertoire au package.cpath de lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackageCPath /chemin/vers/include/?.soa</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaPackagePath" id="LuaPackagePath">LuaPackagePath</a> <a name="luapackagepath" id="luapackagepath">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un r�pertoire au package.path de lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackagePath /chemin/vers/include/?.lua</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaQuickHandler" id="LuaQuickHandler">LuaQuickHandler</a> <a name="luaquickhandler" id="luaquickhandler">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entr�e pour la gestion rapide du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaQuickHandler /path/to/script.lua hook_function_name</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
utilis�e ni � l'int�rieur d'une section <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="/mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
<div class="directive-section"><h2><a name="LuaRoot" id="LuaRoot">LuaRoot</a> <a name="luaroot" id="luaroot">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sp�cifie le chemin de base pour la r�solution des chemins
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaRoot /chemin/vers/un/r�pertoire</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="directive-section"><h2><a name="LuaScope" id="LuaScope">LuaScope</a> <a name="luascope" id="luascope">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaScope once|request|conn|thread|server [min] [max]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>LuaScope once</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<p><span>Langues Disponibles: </span><a href="/en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> |
</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 class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_lua.html';
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
<p class="apache">Copyright 2013 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/quickreference.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[//><!--