File: /opt/bitnami/apache2/manual/howto/htaccess.html.fr.utf8
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Tutoriel du serveur HTTP Apache : fichiers .htaccess - Serveur HTTP Apache Version 2.4</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.min.js">
</script>
<link href="../images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Serveur HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel du serveur HTTP Apache : fichiers .htaccess</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
</div>
<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
modifier la configuration du serveur au niveau de chaque répertoire, sans
modifier les fichiers de configuration principaux du serveur.</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é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é Serveur (Server Side
Includes - SSI)</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#rewrite">Les règles de réécriture dans les fichiers .htaccess</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è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 id="related">Fichiers .htaccess <a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparenté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_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</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#allowoverridelist">AllowOverrideList</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><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="what">Que sont ce fichiers, comment les utiliser ? <a title="Lien permanent" href="#what" class="permalink">¶</a></h2>
<p>Les fichiers <code>.htaccess</code> (ou "fichiers de
configuration distribué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é
dans un répertoire de documents particulier, et ses directives
s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
<div class="note"><h3>Note :</h3>
<p>Si vous voulez donner un autre nom à 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éférez nommer votre fichier
<code>.config</code>, vous pouvez mettre ceci dans le fichier de
configuration de votre serveur :</p>
<pre class="prettyprint lang-config">AccessFileName ".config"</pre>
</div>
<p>Les directives dans 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é par les directives <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> et <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code>. La directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> spécifie,
sous forme de catégories, quelles directives seront traitées si
elles se trouvent dans un fichier <code>.htaccess</code>, alors que la
directive <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code> nomme individuellement les
directives permises (voir <a href="#when">ci-après</a>). Si une
directive est permise dans un fichier <code>.htaccess</code>,
la documentation de cette directive contiendra une section Override,
spécifiant quelle valeur doit prendre la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
soit traitée.</p>
<div class="note">La valeur par défaut de la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est <code>None</code>. Cela signifie
que les fichiers <code>.htaccess</code> seront complètement ignorés, à moins
que vous ne les autorisiez explicitement pour un répertoire.</div>
<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ère est permise dans les fichiers
<code>.htaccess</code> (Voir la ligne de contexte dans le résumé 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ée dans les fichiers <code>.htaccess</code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="when">Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ? <a title="Lien permanent" href="#when" class="permalink">¶</a></h2>
<p>Si vous avez accès au fichier de configuration principal du serveur, il
est préférable d’y mettre toute votre configuration, plutôt que d’utiliser
des fichiers <code>.htaccess</code>. Cela concerne l’authentification de
l’utilisateur, les règles de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> et tout ce que
vous seriez tenté de mettre dans un fichier <code>.htaccess</code>. Les
directives du fichier de configuration principal ne sont chargées qu’une
seule fois au démarrage du serveur et non pas à chaque requête, et en
particulier, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> fonctionne mieux dans un contexte
de configuration globale du serveur.</p>
<p>Les fichiers <code>.htaccess</code> ne devraient être utilisé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èdent pas
l'accès du superutilisateur sur le système du serveur. Cela est courant dans
les environnements d’hébergement géré, l’hébergement basé sur un panneau de
contrôle (comme cPanel ou Plesk) et les systèmes de gestion de contenu où
l’application fournit un fichier <code>.htaccess</code> avec sa
distribution. Si l’administrateur du serveur n’a pas envie d’effectuer des
changements de configuration incessants, il peut être intéressant de
permettre aux utilisateurs isolés d'effectuer eux-mêmes ces modifications
par le biais de fichiers <code>.htaccess</code>.</p>
<p>Il y a deux raisons de préférer le fichier de configuration principal
aux fichiers <code>.htaccess</code> : la performance et la sécurité.</p>
<p><strong>Performance :</strong> Lorsque la directive
<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
httpd va rechercher leur présence dans chaque répertoire. Ainsi,
permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
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é en mémoire chaque fois qu'un
document fait l'objet d'une requête.</p>
<p>Notez aussi que httpd doit rechercher les fichiers
<code>.htaccess</code> dans tous les répertoires de niveau
supérieur, afin de rassembler toutes les directives qui s'appliquent
au répertoire courant (Voir la section <a href="#how">comment sont
appliquées les directives</a>). Ainsi, si un fichier fait l'objet
d'une requête à partir d'un répertoire
<code>/www/htdocs/exemple</code>, httpd doit rechercher les
fichiers suivants :</p>
<pre class="prettyprint lang-config">/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess</pre>
<p>En conséquence, chaque accès à un fichier de ce répertoire
nécessite 4 accès au système de fichiers supplémentaires pour
rechercher des fichiers <code>.htaccess</code>, même si
aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
se produire que si les fichiers <code>.htaccess</code> ont été
autorisés pour le répertoire <code>/</code>, ce qui est rarement le
cas.</p>
<p><strong>Sécurité :</strong> Si vous permettez aux
utilisateurs de modifier la configuration du serveur, il peut en
résulter des conséquences sur lesquelles vous n'aurez aucun
contrôle. Réfléchissez bien avant de donner ce privilège à vos
utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
privilèges dont ils ont besoin va entraîner une augmentation des
demandes de support technique. Assurez-vous d'avoir informé
clairement vos utilisateurs du niveau de privilèges que vous leur
avez attribué. 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
évitera bien des confusions ultérieures.</p>
<p>Si vous devez autoriser les fichiers <code>.htaccess</code> mais voulez
n’autoriser que l’utilisation de directives spécifiques au lieu de
catégories entières de directives, utilisez la directive <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code>. Cette dernière vous permet de
nommer individuellement les directives autorisées, vous permettant ainsi un
contrôle plus fin que dans le cas de la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> seule :</p>
<pre class="prettyprint lang-config"># N’autoriser que des directives spécifiques, pas des catégories entières de
# directives
AllowOverride None
AllowOverrideList Redirect RedirectMatch RewriteEngine RewriteRule RewriteCond</pre>
<p>Avec cette configuration, toute directive non explicitement spécifiée
causera une erreur du serveur si elle est rencontrée dans un fichier
<code>.htaccess</code>. C’est un bon compromis entre possibilité et
impossibilité totales d’outrepasser la configuration globale.</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><Directory "/www/htdocs/exemple"></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><pre class="prettyprint lang-config">AddType text/example ".exm"</pre>
</div>
<div class="example"><h3>Section de votre fichier
<code>httpd.conf</code></h3><pre class="prettyprint lang-config"><Directory "/www/htdocs/example">
AddType text/example ".exm"
</Directory></pre>
</div>
<p>L'utilisation des fichiers <code>.htaccess</code> peut être
entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>
<pre class="prettyprint lang-config">AllowOverride None</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="how">Comment sont appliquées les directives ? <a title="Lien permanent" href="#how" class="permalink">¶</a></h2>
<p>Les directives de configuration situées dans un fichier
<code>.htaccess</code> s'appliquent au répertoire dans lequel ce
fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
sous-répertoires. Cependant, il est important de garder à l'esprit
qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
répertoires de niveau supérieur. Les directives sont appliquées
selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
directives d'un fichier <code>.htaccess</code> situé dans un
répertoire particulier peuvent écraser les directives se trouvant
dans des fichiers <code>.htaccess</code> situés à un niveau
supérieur dans l'arborescence des répertoires. Et ces dernières
peuvent elles-mêmes avoir écrasé des directives d'un fichier
<code>.htaccess</code> situé à 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>
<pre class="prettyprint lang-config">Options +ExecCGI</pre>
<p>Note : "<code>AllowOverride Options</code>" doit être pré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>
<pre class="prettyprint lang-config">Options Includes</pre>
<p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
des CGI est interdite, car la dernière définition d'options
<code>Options Includes</code> écrase toute autre définition
d'options d'un fichier <code>.htaccess</code> situé dans un
répertoire de niveau supérieur.</p>
<h3 id="merge">Interactions entre les fichiers .htaccess
et les fichiers de configuration du serveur principal</h3>
<p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
<code>.htaccess</code> peuvent écraser les directives des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> pour
le répertoire correspondant, mais peuvent eux-mêmes être écrasés
par d'autres types de sections des fichiers de la
configuration principale. Cette possibilité peut s'avérer utile pour
forcer certaines configurations, même en cas de présence de l'option
libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
exemple, pour interdire l'exécution de scripts en autorisant la
définition de toute autre option dans les fichiers
<code>.htaccess</code>, vous pouvez utiliser :</p>
<pre class="prettyprint lang-config"><Directory "/www/htdocs">
AllowOverride All
</Directory>
<Location "/">
Options +IncludesNoExec -ExecCGI
</Location></pre>
<div class="note">Dans cet exemple, on considè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 id="auth">Exemple d'authentification <a title="Lien permanent" href="#auth" class="permalink">¶</a></h2>
<p>Comme avec toute utilisation de fichier <code>.htaccess</code>, placer
ces directives dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> est préférable si vous avez accès au
fichier de configuration principal (voir <a href="#when">ci-avant</a>).
L’exemple suivant montre l’approche <code>.htaccess</code> :</p>
<p>Contenu du fichier <code>.htaccess</code> :</p>
<pre class="prettyprint lang-config">AuthType Basic
AuthName "Password Required"
AuthUserFile "/www/passwords/password.file"
AuthGroupFile "/www/passwords/group.file"
Require group admins</pre>
<p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
pour que ces directives produisent leur effet.</p>
<p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
l'authentification</a> pour une description plus détaillé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 id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI) <a title="Lien permanent" href="#ssi" class="permalink">¶</a></h2>
<p>Les fichiers <code>.htaccess</code> sont aussi utilisés pour activer les
SSI (Server Side Includes) pour un répertoire particulier. Pour y parvenir,
on utilise les directives de configuration suivantes, placées dans un
fichier <code>.htaccess</code> enregistré dans le répertoire considéré :</p>
<pre class="prettyprint lang-config">Options +Includes
AddType text/html "shtml"
AddHandler server-parsed shtml</pre>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent être tous les deux présents pour que ces
directives puissent produire leur effet.</p>
<p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
pour une description plus détaillé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 id="rewrite">Les règles de réécriture dans les fichiers .htaccess <a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
<p>Sivous utilisez des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un fichier
<code>.htaccess</code>, gardez à l'esprit que les choses sont légèrement
différentes dans un contexte de répertoire. En particulier, les règles
sont relatives au répertoire courant, et non à l'URI original. Considérez
les exemples suivants :</p>
<pre class="prettyprint lang-config"># Dans httpd.conf
RewriteRule "^/images/(.+)\.jpg" "/images/$1.png"
# Dans un fichier .htaccess situé dans le répertoire racine de vos
# documents
RewriteRule "^images/(.+)\.jpg" "images/$1.png"
# Dans un fichier .htaccess situé dans le répertoire images/
RewriteRule "^(.+)\.jpg" "$1.png"</pre>
<p>On voit que si le fichier <code>.htaccess</code> se situe à la racine
de vos documents, le slash de tête est supprimé de la valeur de
remplacement spécifiée pour la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, et que si le fichier
<code>.htaccess</code> se situe dans le répertoire <code>images</code>,
la chaîne <code>/images/</code> disparaît de cette même valeur de
remplacement. Il doit donc en être de même dans votre expression
rationnelle.</p>
<p>Notez aussi que dans un contexte <code>.htaccess</code>, les expressions
rationnelles sont recompilées à chaque requête, alors que dans un contexte de
configuration principale, elle ne sont compilées qu’une seule fois et mises en
cache.</p>
<p>Veuillez vous référer à cette <a href="../rewrite/">documentation</a>
pour une étude détaillée de l'utilisation du module
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="cgi">Exemple de CGI <a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
<div class="note">Les scripts CGI constituent un mécanisme de gestion de contenu
dynamique patrimonial. Pour les nouveaux déploiements, pensez à utiliser
<code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> avec un serveur d’applications FastCGI ou un
gestionnaire spécifique à un cadriciel. Les informations ci-après restent
cependant valables pour les environnements qui reposent encore sur une CGI
traditionnelle.</div>
<p>Vous pouvez utiliser un fichier <code>.htaccess</code> pour autoriser
l’exécution de programmes CGI dans un répertoire particulier. Pour y
parvenir, vous pouvez utiliser la configuration suivante :</p>
<pre class="prettyprint lang-config">Options +ExecCGI
AddHandler cgi-script "cgi" "py"</pre>
<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>
<pre class="prettyprint lang-config">Options +ExecCGI
SetHandler cgi-script</pre>
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
FileInfo</code> doivent être tous les deux présents pour que ces
directives puissent produire leur effet.</p>
<p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
pour une description plus détaillé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 id="troubleshoot">Résolution des problèmes <a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
<p>De nombreuses raisons peuvent être à l'origine du fait que
les directives que vous avez mises dans un fichier
<code>.htaccess</code> ne produisent pas l'effet désiré.</p>
<p>Le plus souvent, le problè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 à mettre un mot
dénué de sens dans votre ficher <code>.htaccess</code> et de recharger la
page :</p>
<pre class="prettyprint lang-config">TestMe</pre>
<p>Si aucune erreur (HTTP 500) n'est généré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éder à des documents, consultez votre journal des
erreurs de httpd. Il vous indiquera probablement que la directive
utilisée dans votre fichier <code>.htaccess</code> n'est pas
permise.</p>
<pre class="prettyprint lang-config">[Tue May 06 09:12:31.528374 2025] [core:alert] [pid 12345] [client 192.168.1.50:54321] /var/www/html/.htaccess: DirectoryIndex not allowed here</pre>
<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> à 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>
<pre class="prettyprint lang-config">[Tue May 06 09:14:02.946218 2025] [core:alert] [pid 12345] [client 192.168.1.50:54321] /var/www/html/.htaccess: RewriteCond: bad flag delimiters</pre>
<p>Dans ce cas, le message d'erreur sera spécifique à 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"> en </a> |
<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autorisé sous <a href="https://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="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
document.body.appendChild(qv);
var qvBtn = document.createElement('button');
qvBtn.className = 'qv-toggle';
qvBtn.setAttribute('aria-label', 'Toggle page navigation');
qvBtn.innerHTML = '☰';
document.body.appendChild(qvBtn);
qvBtn.addEventListener('click', function() {
var isOpen = qv.classList.toggle('open');
if (isOpen) {
qv.style.top = window.scrollY + 10 + 'px';
}
});
window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>