mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-30 08:05:39 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1447971 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			489 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			489 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| <?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/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>
 | ||
| <p class="apache">Serveur Apache HTTP Version 2.5</p>
 | ||
| <img alt="" src="../images/feather.gif" /></div>
 | ||
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
 | ||
| <div id="path">
 | ||
| <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="./">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"> en </a> |
 | ||
| <a href="../fr/howto/htaccess.html" title="Fran<61>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<67>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.</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><ul class="seealso"><li><a href="#comments_section">Commentaires</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/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/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/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>
 | ||
| 
 | ||
|       <pre class="prettyprint lang-config">
 | ||
|         AccessFileName .config
 | ||
|       </pre>
 | ||
| 
 | ||
|     </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"><Directory></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><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>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>
 | ||
| 
 | ||
|     <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><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>
 | ||
| 
 | ||
|     <pre class="prettyprint lang-config">Options +ExecCGI</pre>
 | ||
| 
 | ||
| 
 | ||
|     <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>
 | ||
| 
 | ||
|     <pre class="prettyprint lang-config">Options Includes</pre>
 | ||
| 
 | ||
| 
 | ||
|     <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"><Directory></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>
 | ||
| 
 | ||
|     <pre class="prettyprint lang-config">
 | ||
| <Directory /www/htdocs>
 | ||
|     AllowOverride All
 | ||
| </Directory>
 | ||
| 
 | ||
| <Location />
 | ||
|     Options +IncludesNoExec -ExecCGI<br />
 | ||
| </Location>
 | ||
|     </pre>
 | ||
| 
 | ||
| 
 | ||
|     <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"><Directory></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>
 | ||
| 
 | ||
|     <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 <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>
 | ||
| 
 | ||
|     <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 <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>
 | ||
| 
 | ||
|     <pre class="prettyprint lang-config">
 | ||
| Options +ExecCGI
 | ||
| AddHandler cgi-script cgi pl
 | ||
|     </pre>
 | ||
| 
 | ||
| 
 | ||
|     <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>
 | ||
| 
 | ||
|     <pre class="prettyprint lang-config">
 | ||
| Options +ExecCGI
 | ||
| SetHandler cgi-script
 | ||
|     </pre>
 | ||
| 
 | ||
| 
 | ||
|     <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"> en </a> |
 | ||
| <a href="../fr/howto/htaccess.html" title="Fran<61>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<67>s (Brasil)"> pt-br </a></p>
 | ||
| </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>
 | ||
| <script type="text/javascript"><!--//--><![CDATA[//><!--
 | ||
| var comments_shortname = 'httpd';
 | ||
| var comments_identifier = 'http://httpd.apache.org/docs/trunk/howto/htaccess.html';
 | ||
| (function(w, d) {
 | ||
|     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);
 | ||
|     }
 | ||
|     else {
 | ||
|         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
 | ||
|     }
 | ||
| })(window, document);
 | ||
| //--><!]]></script></div><div id="footer">
 | ||
| <p class="apache">Copyright 2013 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/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[//><!--
 | ||
| if (typeof(prettyPrint) !== 'undefined') {
 | ||
|     prettyPrint();
 | ||
| }
 | ||
| //--><!]]></script>
 | ||
| </body></html> |