1
0
mirror of https://github.com/apache/httpd.git synced 2025-05-25 14:22:34 +03:00
apache/docs/manual/howto/htaccess.html.fr
Rich Bowen 6f3fe67010 Update transforms.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1330844 13f79535-47bb-0310-9956-ffa450edef68
2012-04-26 13:35:04 +00:00

477 lines
27 KiB
Plaintext
Raw Blame History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Tutoriel du serveur HTTP Apache : fichiers .htaccess - Serveur Apache HTTP</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel du serveur HTTP Apache : fichiers .htaccess</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/htaccess.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugu<67>s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut <20>tre p<>rim<69>e. V<>rifiez la version
anglaise pour les changements r<>cents.</div>
<p>Les fichiers <code>.htaccess</code> fournissent une m<>thode pour
modifier la configuration du serveur au niveau de chaque r<>pertoire.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliqu<71>es les directives ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion C<>t<EFBFBD> Serveur (Server Side
Includes - SSI)</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">R<>solution des probl<62>mes</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="related" id="related">Fichiers .htaccess</a></h2>
<table class="related"><tr><th>Modules Apparent<6E>s</th><th>Directives Apparent<6E>es</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
<div class="note">Les fichiers <code>.htaccess</code> ne doivent <20>tre utilis<69>s
que si vous n'avez pas acc<63>s au fichier de configuration du serveur
principal. L'utilisation des fichiers <code>.htaccess</code>
ralentit le fonctionnement de votre serveur HTTP Apache. Il est toujours
pr<70>f<EFBFBD>rable de d<>finir les directives que vous pouvez inclure dans un
fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
m<>me effet avec de meilleures performances.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a></h2>
<p>Les fichiers <code>.htaccess</code> (ou "fichiers de
configuration distribu<62>s") fournissent une m<>thode pour modifier la
configuration du serveur au niveau d'un r<>pertoire. Un fichier,
contenant une ou plusieurs directives de configuration, est plac<61>
dans un r<>pertoire de documents particulier, et ses directives
s'appliquent <20> ce r<>pertoire et <20> tous ses sous-r<>pertoires.</p>
<div class="note"><h3>Note :</h3>
<p>Si vous voulez donner un autre nom <20> votre fichier
<code>.htaccess</code>, vous pouvez le faire en utilisant la
directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
exemple, si vous pr<70>f<EFBFBD>rez nommer votre fichier
<code>.config</code>, vous pouvez mettre ceci dans le fichier de
configuration de votre serveur :</p>
<div class="example"><p><code>
AccessFileName .config
</code></p></div>
</div>
<p>En g<>n<EFBFBD>ral, les fichiers <code>.htaccess</code> utilisent la m<>me
syntaxe que les <a href="../configuring.html#syntax">fichiers de
configuration principaux</a>. Ce que vous pouvez mettre dans ces
fichier est d<>termin<69> par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive sp<73>cifie,
sous forme de cat<61>gories, quelles directives seront trait<69>es si
elles se trouvent dans un fichier <code>.htaccess</code>. Si une
directive est permise dans un fichier <code>.htaccess</code> file,
la documentation de cette directive contiendra une section Override,
sp<73>cifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
soit trait<69>e.</p>
<p>Par exemple, si vous regardez la documentation de la directive
<code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
que cette derni<6E>re est permise dans les fichiers
<code>.htaccess</code> (Voir la ligne de contexte dans le r<>sum<75> de
la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
<code>FileInfo</code>. Vous devez donc avoir au moins
<code>AllowOverride FileInfo</code> pour que cette directive soit
trait<69>e dans les fichiers <code>.htaccess</code>.</p>
<div class="example"><h3>Exemple :</h3><table>
<tr>
<td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
<td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
</tr>
<tr>
<td><a href="../mod/directive-dict.html#Override">Override:</a></td>
<td>FileInfo</td>
</tr>
</table></div>
<p>Si vous n'<27>tes pas s<>r qu'une directive particuli<6C>re soit permise
dans un fichier <code>.htaccess</code>, lisez la documentation de
cette directive, et consultez la ligne de contexte pour
".htaccess".</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="when" id="when">Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ?</a></h2>
<p>En principe, vous ne devriez utiliser les fichiers
<code>.htaccess</code> que lorsque vous n'avez pas acc<63>s au fichier de
configuration du serveur principal. Par exemple, la fausse
id<69>e
selon laquelle l'authentification de l'utilisateur devrait toujours
<20>tre faite dans les fichiers <code>.htaccess</code> est tr<74>s
r<>pandue. Il est aussi souvent avanc<6E>, ces derni<6E>res
ann<6E>es, que les directives de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent
<20>tre d<>finies dans les fichiers <code>.htaccess</code>. Ceci est
tout simplement faux. Vous pouvez configurer
l'authentification des utilisateurs au niveau de la configuration du
serveur principal, et c'est en fait cette m<>thode qui doit <20>tre
privil<69>gi<67>e. De m<>me, les directives de
<code>mod_rewrite</code> fonctionneront mieux, <20> de nombreux <20>gards,
dans le contexte du serveur principal.</p>
<p>Les fichiers <code>.htaccess</code> ne devraient <20>tre utilis<69>s
que dans le cas o<> les fournisseurs de contenu ont besoin de
modifier la configuration du serveur au niveau d'un r<>pertoire, mais
ne poss<73>dent pas l'acc<63>s root sur le syst<73>me du serveur. Si
l'administrateur du serveur ne souhaite pas effectuer des
modifications de configuration incessantes, il peut <20>tre int<6E>ressant
de permettre aux utilisateurs isol<6F>s d'effectuer eux-m<>mes ces
modifications par le biais de fichiers <code>.htaccess</code>. Ceci
est particuli<6C>rement vrai dans le cas o<> le fournisseur d'acc<63>s <20>
Internet h<>berge de nombreux sites d'utilisateurs sur un seul
serveur, et souhaite que ces utilisateurs puissent modifier
eux-m<>mes leurs configurations.</p>
<p>Cependant et d'une mani<6E>re g<>n<EFBFBD>rale, il vaut mieux <20>viter
d'utiliser les fichiers <code>.htaccess</code>. Tout <20>l<EFBFBD>ment de
configuration que vous pourriez vouloir mettre dans un fichier
<code>.htaccess</code>, peut aussi <20>tre mis, et avec la m<>me
efficacit<69>, dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
votre serveur principal.</p>
<p>Il y a deux raisons principales d'<27>viter l'utilisation des
fichiers <code>.htaccess</code>.</p>
<p>La premi<6D>re est li<6C>e aux performances. Lorsque la directive
<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est d<>finie de
fa<66>on <20> autoriser l'utilisation des fichiers <code>.htaccess</code>,
httpd va rechercher leur pr<70>sence dans chaque r<>pertoire. Ainsi,
permettre l'utilisation des fichiers <code>.htaccess</code> est d<>j<EFBFBD>
en soi une cause de d<>gradation des performances, que vous utilisiez
effectivement ces fichiers ou non ! De plus, le fichier
<code>.htaccess</code> est charg<72> en m<>moire chaque fois qu'un
document fait l'objet d'une requ<71>te.</p>
<p>Notez aussi que httpd doit rechercher les fichiers
<code>.htaccess</code> dans tous les r<>pertoires de niveau
sup<75>rieur, afin de rassembler toutes les directives qui s'appliquent
au r<>pertoire courant (Voir la section <a href="#how">comment sont
appliqu<71>es les directives</a>). Ainsi, si un fichier fait l'objet
d'une requ<71>te <20> partir d'un r<>pertoire
<code>/www/htdocs/exemple</code>, httpd doit rechercher les
fichiers suivants :</p>
<div class="example"><p><code>
/.htaccess<br />
/www/.htaccess<br />
/www/htdocs/.htaccess<br />
/www/htdocs/exemple/.htaccess
</code></p></div>
<p>En cons<6E>quence, chaque acc<63>s <20> un fichier de ce r<>pertoire
n<>cessite 4 acc<63>s au syst<73>me de fichiers suppl<70>mentaires pour
rechercher des fichiers <code>.htaccess</code>, m<>me si
aucun de ces fichiers n'est pr<70>sent. Notez que cet exemple ne peut
se produire que si les fichiers <code>.htaccess</code> ont <20>t<EFBFBD>
autoris<69>s pour le r<>pertoire <code>/</code>, ce qui est rarement le
cas.</p>
<p>La seconde raison d'<27>viter l'utilisation des fichiers
<code>.htaccess</code> est li<6C>e <20> la s<>curit<69>. Si vous permettez aux
utilisateurs de modifier la configuration du serveur, il peut en
r<>sulter des cons<6E>quences sur lesquelles vous n'aurez aucun
contr<74>le. R<>fl<66>chissez bien avant de donner ce privil<69>ge <20> vos
utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
privil<69>ges dont ils ont besoin va entra<72>ner une augmentation des
demandes de support technique. Assurez-vous d'avoir inform<72>
clairement vos utilisateurs du niveau de privil<69>ges que vous leur
avez attribu<62>. Indiquer exactement comment vous avez d<>fini la
directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> et
diriger les utilisateurs vers la documentation correspondante vous
<20>vitera bien des confusions ult<6C>rieures.</p>
<p>Notez que mettre un fichier <code>.htaccess</code> contenant une
directive dans un r<>pertoire <code>/www/htdocs/exemple</code>
revient exactement au m<>me que mettre la m<>me directive dans une
section Directory <code>&lt;Directory /www/htdocs/exemple&gt;</code>
du fichier de configuration de votre serveur principal :</p>
<p>Fichier <code>.htaccess</code> dans
<code>/www/htdocs/exemple</code> :</p>
<div class="example"><h3>Contenu du fichier .htaccess dans
<code>/www/htdocs/exemple</code></h3><p><code>
AddType text/exemple .exm
</code></p></div>
<div class="example"><h3>Section de votre fichier
<code>httpd.conf</code></h3><p><code>
&lt;Directory /www/htdocs/exemple&gt;<br />
<span class="indent">
AddType text/exemple .exm<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p>Cependant, la perte de performances sera moindre si vous
d<>finissez cette directive dans la configuration de
votre serveur principal, car cette derni<6E>re ne sera charg<72>e qu'une
seule fois au moment du d<>marrage du serveur, alors qu'elle le sera
<20> chaque acc<63>s dans le cas d'un fichier <code>.htaccess</code>.</p>
<p>L'utilisation des fichiers <code>.htaccess</code> peut <20>tre
enti<74>rement d<>sactiv<69>e en d<>finissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> <20> <code>none</code> :</p>
<div class="example"><p><code>
AllowOverride None
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="how" id="how">Comment sont appliqu<71>es les directives ?</a></h2>
<p>Les directives de configuration situ<74>es dans un fichier
<code>.htaccess</code> s'appliquent au r<>pertoire dans lequel ce
fichier <code>.htaccess</code> se trouve, ainsi qu'<27> tous ses
sous-r<>pertoires. Cependant, il est important de garder <20> l'esprit
qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
r<>pertoires de niveau sup<75>rieur. Les directives sont appliqu<71>es
selon l'ordre dans lequel elles sont rencontr<74>es. Ainsi, les
directives d'un fichier <code>.htaccess</code> situ<74> dans un
r<>pertoire particulier peuvent <20>craser les directives se trouvant
dans des fichiers <code>.htaccess</code> situ<74>s <20> un niveau
sup<75>rieur dans l'arborescence des r<>pertoires. Et ces derni<6E>res
peuvent elles-m<>mes avoir <20>cras<61> des directives d'un fichier
<code>.htaccess</code> situ<74> <20> un niveau encore plus haut, ou dans
le fichier de configuration du serveur principal.</p>
<p>Exemple :</p>
<p>Dans le r<>pertoire <code>/www/htdocs/exemple1</code> se trouve un
fichier <code>.htaccess</code> contenant ce qui suit :</p>
<div class="example"><p><code>
Options +ExecCGI
</code></p></div>
<p>Note : "<code>AllowOverride Options</code>" doit <20>tre pr<70>sent
pour permettre l'utilisation de la directive "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" dans les fichiers
<code>.htaccess</code>.</p>
<p>Dans le r<>pertoire <code>/www/htdocs/exemple1/exemple2</code> se
trouve un fichier <code>.htaccess</code> contenant ce qui suit
:</p>
<div class="example"><p><code>
Options Includes
</code></p></div>
<p>Ainsi, <20> cause de ce second fichier <code>.htaccess</code> du
r<>pertoire <code>/www/htdocs/exemple1/exemple2</code>, l'ex<65>cution
des CGI est interdite, car la derni<6E>re d<>finition d'options
<code>Options Includes</code> <20>crase toute autre d<>finition
d'options d'un fichier <code>.htaccess</code> situ<74> dans un
r<>pertoire de niveau sup<75>rieur.</p>
<h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
et les fichiers de configuration du serveur principal</a></h3>
<p>Comme indiqu<71> dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
<code>.htaccess</code> peuvent <20>craser les directives des sections
<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> pour
le r<>pertoire correspondant, mais peuvent eux-m<>mes <20>tre <20>cras<61>s
par d'autres types de sections des fichiers de la
configuration principale. Cette possibilit<69> peut s'av<61>rer utile pour
forcer certaines configurations, m<>me en cas de pr<70>sence de l'option
lib<69>rale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
exemple, pour interdire l'ex<65>cution de scripts en autorisant la
d<>finition de toute autre option dans les fichiers
<code>.htaccess</code>, vous pouvez utiliser :</p>
<div class="example"><p><code>
&lt;Directory /www/htdocs&gt;<br />
<span class="indent">
Allowoverride All<br />
</span>
&lt;/Directory&gt;<br />
<br />
&lt;Location /&gt;<br />
<span class="indent">
Options +IncludesNoExec -ExecCGI<br />
</span>
&lt;/Location&gt;
</code></p></div>
<div class="note">Dans cet exemple, on consid<69>re que le chemin d<>fini par la
directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> est
<code>/www/htdocs</code>.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="auth" id="auth">Exemple d'authentification</a></h2>
<p>Si vous acc<63>dez directement <20> ce point du document pour apprendre
<20> effectuer une authentification, il est important de noter ceci. Il
existe une fausse id<69>e selon laquelle il serait n<>cessaire
d'utiliser les fichiers <code>.htaccess</code> pour impl<70>menter
l'authentification par mot de passe. Ceci est tout simplement faux.
Pour y parvenir, il est pr<70>f<EFBFBD>rable de mettre les directives
d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
votre serveur principal, et les fichiers <code>.htaccess</code> ne
devraient <20>tre utilis<69>s que dans le cas o<> vous n'avez pas acc<63>s au
fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
<p>Ceci <20>tant dit, si vous pensez que vous devez quand-m<>me utiliser
un fichier <code>.htaccess</code>, vous pouvez utiliser la
configuration suivante :</p>
<p>Contenu du fichier <code>.htaccess</code> :</p>
<div class="example"><p><code>
AuthType Basic<br />
AuthName "Password Required"<br />
AuthUserFile /www/passwords/password.file<br />
AuthGroupFile /www/passwords/group.file<br />
Require Group admins
</code></p></div>
<p>Notez que <code>AllowOverride AuthConfig</code> doit <20>tre pr<70>sent
pour que ces directives produisent leur effet.</p>
<p>Vous pouvez vous r<>f<EFBFBD>rer au <a href="auth.html">tutoriel sur
l'authentification</a> pour une description plus d<>taill<6C>e de
l'authentification et de l'autorisation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="ssi" id="ssi">Exemple d'Inclusion C<>t<EFBFBD> Serveur (Server Side
Includes - SSI)</a></h2>
<p>Les fichiers <code>.htaccess</code> sont aussi couramment
utilis<69>s pour activer les SSI pour un r<>pertoire particulier. Pour y
parvenir, on utilise les directives de configuration suivantes,
plac<61>es dans un fichier <code>.htaccess</code> enregistr<74> dans le
r<>pertoire consid<69>r<EFBFBD> :</p>
<div class="example"><p><code>
Options +Includes<br />
AddType text/html shtml<br />
AddHandler server-parsed shtml
</code></p></div>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent <20>tre tous les deux pr<70>sents pour que ces
directives puissent produire leur effet.</p>
<p>Vous pouvez vous r<>f<EFBFBD>rer au <a href="ssi.html">tutoriel SSI</a>
pour une description plus d<>taill<6C>e des SSI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cgi" id="cgi">Exemple de CGI</a></h2>
<p>En fin de compte, vous avez d<>cid<69> d'utiliser un fichier
<code>.htaccess</code> pour permettre l'ex<65>cution des programmes CGI
dans un r<>pertoire particulier. Pour y parvenir, vous pouvez
utiliser la configuration suivante :</p>
<div class="example"><p><code>
Options +ExecCGI<br />
AddHandler cgi-script cgi pl
</code></p></div>
<p>Alternativement, si vous souhaitez que tous les fichiers d'un
r<>pertoire donn<6E> soient consid<69>r<EFBFBD>s comme des programmes CGI, vous
pouvez utiliser la configuration suivante :</p>
<div class="example"><p><code>
Options +ExecCGI<br />
SetHandler cgi-script
</code></p></div>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent <20>tre tous les deux pr<70>sents pour que ces
directives puissent produire leur effet.</p>
<p>Vous pouvez vous r<>f<EFBFBD>rer au <a href="cgi.html">tutoriel CGI</a>
pour une description plus d<>taill<6C>e de la configuration et de la
proprammation CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="troubleshoot" id="troubleshoot">R<>solution des probl<62>mes</a></h2>
<p>De nombreuses raisons peuvent <20>tre <20> l'origine du fait que
les directives que vous avez mises dans un fichier
<code>.htaccess</code> ne produisent pas l'effet d<>sir<69>.</p>
<p>Le plus souvent, le probl<62>me vient du fait que la d<>finition de
la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
ne permet pas l'activation des directives de votre fichier
<code>.htaccess</code>. V<>rifiez si une directive
<code>AllowOverride None</code> n'affecte pas le r<>pertoire o<> se
trouve votre fichier. Un bon test consiste <20> mettre des directives
dont la syntaxe est erron<6F>e dans votre ficher <code>.htaccess</code>
et de recharger la page. Si aucune erreur n'est g<>n<EFBFBD>r<EFBFBD>e par le
serveur, il est pratiquement certain qu'une directive
<code>AllowOverride None</code> affecte votre r<>pertoire.</p>
<p>Par contre, si vous obtenez des erreurs de serveur lorsque vous
tentez d'acc<63>der <20> des documents, consultez votre journal des
erreurs de httpd. Il vous indiquera probablement que la directive
utilis<69>e dans votre fichier <code>.htaccess</code> n'est pas
permise.</p>
<div class="example"><p><code>
[Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
</code></p></div>
<p>Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers <code>.htaccess</code>, soit
que vous n'avez tout simplement pas d<>fini la directive
<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> <20> un niveau
suffisant pour la directive que vous utilisez. Consultez la
documentation de cette directive pour d<>terminer quel cas
s'applique.</p>
<p>Le journal des erreurs peut aussi vous signaler une erreur de
syntaxe dans l'usage de la directive elle-m<>me.</p>
<div class="example"><p><code>
[Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
</code></p></div>
<p>Dans ce cas, le message d'erreur sera sp<73>cifique <20> l'erreur
de syntaxe que vous avez commise.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/htaccess.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Portugu<67>s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autoris<69> 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="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript">
if (typeof(prettyPrint) !== undefined) {
prettyPrint();
}
</script>
</body></html>