blob: 1fb6ed8280cdbb6bde8d9d36f421d28f53f8d984 [file]
<!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>Messages d'erreur personnalis&eacute;s - Serveur HTTP Apache Version 2.5</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.5</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> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Messages d'erreur personnalis&eacute;s</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/custom-error.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Espa&ntilde;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/custom-error.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<p>Le serveur HTTP Apache fournit des messages d'erreur g&eacute;n&eacute;riques
pour les codes de statut 4xx ou 5xx ; ces messages sont cependant
relativement aust&egrave;res, impr&eacute;cis, et peuvent s'av&eacute;rer intimidants
pour les visiteurs du site. Si vous le souhaitez, vous pouvez
afficher des messages d'erreur plus conviviaux, dans un langage
autre que l'anglais, ou m&ecirc;me sous une forme plus en ad&eacute;quation avec
le style de votre site.</p>
<p>Il est possible de d&eacute;finir des messages d'erreur personnalis&eacute;s
pour chaque code de statut HTTP associ&eacute; &agrave; une condition d'erreur -
c'est &agrave; dire tout code de statut 4xx ou 5xx.</p>
<p>De plus, il est possible de
personnaliser le message d'erreur en fonction d'un jeu de valeurs
fourni, en utilisant les <a href="howto/ssi.html">Inclusions C&ocirc;t&eacute;
Serveur (SSI)</a>. Un programme CGI ou un autre gestionnaire
dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables
pour g&eacute;rer les conditions d'erreur.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#configuration">Configuration</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#variables">Variables disponibles</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#custom">Personnalisation des messages d'erreur</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#multi-lang">Messages d'erreur personnalis&eacute;s
multilingues</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="configuration">Configuration <a title="Lien permanent" href="#configuration" class="permalink">&para;</a></h2>
<p>Les messages d'erreur personnalis&eacute;s sont configur&eacute;s via la
directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>, qui
peut &ecirc;tre utilis&eacute;e dans un contexte global, serveur virtuel ou
r&eacute;pertoire. On peut utiliser cette directive dans les fichiers
.htaccess si <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est
d&eacute;finie &agrave; FileInfo.</p>
<pre class="prettyprint lang-config">ErrorDocument 500 "D&eacute;sol&eacute;, notre script s'est
crash&eacute; ; comme c'est dommage !"
ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 http://error.example.com/server_error.html
ErrorDocument 404 /errors/not_found.html
ErrorDocument 401 /subscription/how_to_subscribe.html</pre>
<p>La syntaxe de la directive <code>ErrorDocument</code> est :</p>
<pre class="prettyprint lang-config">ErrorDocument &lt;code_3_chiffres&gt; &lt;action&gt;</pre>
<p>o&ugrave; action peut &ecirc;tre trait&eacute;e comme :</p>
<ol>
<li>Une URL de redirection local (si l'action commence par un "/").</li>
<li>Une URL de redirection externe (si action est une URL valide).</li>
<li>Le texte &agrave; afficher (si l'action ne r&eacute;pond &agrave; aucune des
deux conditions pr&eacute;c&eacute;dentes). Entourez le texte de guillemets (")
s'il contient plusieurs mots.</li>
</ol>
<p>Dans le cas d'une redirection vers une URL locale, des variables
d'environnement suppl&eacute;mentaires sont d&eacute;finies de fa&ccedil;on &agrave; ce que la
r&eacute;ponse puisse &ecirc;tre personnalis&eacute;e par la suite. Elles ne sont pas
envoy&eacute;es aux URLs externes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="variables">Variables disponibles <a title="Lien permanent" href="#variables" class="permalink">&para;</a></h2>
<p>La redirection vers une autre URL peut &ecirc;tre utile, mais
seulement s'il est possible de transmettre certaines informations
qui pourront &ecirc;tre utilis&eacute;es pour expliquer ou journaliser
la condition d'erreur ou le probl&egrave;me plus clairement.</p>
<p>Pour y parvenir, lorsque la redirection d'erreur est envoy&eacute;e,
des variables d'environnement suppl&eacute;mentaires sont d&eacute;finies &agrave;
partir des en-t&ecirc;tes de la requ&ecirc;te originale en pr&eacute;fixant le nom
d'origine de l'en-t&ecirc;te par 'REDIRECT_', ce qui permet de fournir au
message d'erreur le contexte de la requ&ecirc;te originelle.</p>
<p>Par exemple, en plus des variables d'environnement habituelles,
vous pouvez recevoir ce qui suit :</p>
<div class="example"><pre class="prettyprint lang-config">REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png
REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=client.example.com
REDIRECT_SERVER_NAME=www.example.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
REDIRECT_URL=/cgi-bin/buggy.pl</pre>
</div>
<p>Les variables d'environnement <code>REDIRECT_</code> sont
cr&eacute;&eacute;es &agrave; partir des variables d'environnement pr&eacute;existantes &agrave; la
redirection qui sont pr&eacute;fix&eacute;es par la cha&icirc;ne <code>REDIRECT_</code> ;
par exemple, <code>HTTP_USER_AGENT</code> devient
<code>REDIRECT_HTTP_USER_AGENT</code>.</p>
<p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, et
<code>REDIRECT_QUERY_STRING</code> sont syst&eacute;matiquement d&eacute;finies,
les autres variables n'&eacute;tant d&eacute;finies que si l'en-t&ecirc;te
correspondant existait avant la condition d'erreur.</p>
<p><strong>Aucune</strong> d'entre elles ne sera d&eacute;finie si votre
directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
sp&eacute;cifie une redirection <em>externe</em> (toute URL commen&ccedil;ant
par un protocole du style <code>http:</code>, m&ecirc;me si elle fait
r&eacute;f&eacute;rence au m&ecirc;me h&ocirc;te que le serveur).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="custom">Personnalisation des messages d'erreur <a title="Lien permanent" href="#custom" class="permalink">&para;</a></h2>
<p>Si vous faites pointer votre directive
<code>ErrorDocument</code> vers certains gestionnaires
dynamiques comme les inclusions c&ocirc;t&eacute; serveur, les scripts CGI ou
d'autres gestionnaires, vous pouvez utiliser les variables
d'environnement suppl&eacute;mentaires disponibles pour personnaliser
le message.</p>
<p>Si la directive ErrorDname-basedocument sp&eacute;cifie une redirection locale
vers un script CGI, ce dernier doit ajouter un en-t&ecirc;te
"<code>Status:</code>" dans sa sortie afin de s'assurer du bon
acheminement jusqu'au client de la condition d'erreur qui a
provoqu&eacute; cette redirection. Par exemple, un script Perl sp&eacute;cifi&eacute;
par une directive ErrorDocument pourrait contenir ce qui suit
:</p>
<pre class="prettyprint lang-perl">...
print "Content-type: text/html\n";
printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
...</pre>
<p>Si un script est d&eacute;di&eacute; &agrave; la gestion d'une condition d'erreur
sp&eacute;cifique, telle que <code>404&nbsp;Not&nbsp;Found</code>, il
peut utiliser le code et le texte de l'erreur sp&eacute;cifiques &agrave; la
place.</p>
<p>Notez que si la r&eacute;ponse contient un en-t&ecirc;te
<code>Location:</code> (afin d'initier une redirection c&ocirc;t&eacute;
client), le script <em>doit</em> &eacute;mettre un en-t&ecirc;te appropri&eacute;
(comme <code>302&nbsp;Found</code>). Dans le cas contraire,
l'en-t&ecirc;te <code>Location:</code> ne produira aucun effet.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="multi-lang">Messages d'erreur personnalis&eacute;s
multilingues <a title="Lien permanent" href="#multi-lang" class="permalink">&para;</a></h2>
<p>Vous trouverez dans la distribution du serveur HTTP Apache un
r&eacute;pertoire contenant des messages d'erreur personnalis&eacute;s traduits en
16 langues diff&eacute;rentes. Pour activer cette fonctionnalit&eacute;, vous
pouvez aussi inclure un fichier de configuration qui se trouve dans
le r&eacute;pertoire de configuration <code>conf/extra</code>.</p>
<p>Dans le fichier de configuration de votre serveur, vous trouverez
un groupe de lignes du style :</p>
<pre class="prettyprint lang-config"> # Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf</pre>
<p>D&eacute;commentez la ligne <code>Include</code> pour activer cette
fonctionnalit&eacute;, et pr&eacute;senter des messages d'erreur dont le langage
sera n&eacute;goci&eacute; en fonction du langage pr&eacute;f&eacute;r&eacute; d&eacute;fini au niveau du
navigateur du client.</p>
<p>De plus, ces documents contiennent diverses variables
<code>REDIRECT_</code>, de fa&ccedil;on &agrave; ce que l'utilisateur final
dispose d'informations suppl&eacute;mentaires &agrave; propos de ce qui a pu se
produire, et de ce qu'il est susceptible de faire maintenant.</p>
<p>Ces documents peuvent &ecirc;tre personnalis&eacute;s en fournissant autant
d'informations utiles que vous le souhaitez aux utilisateurs &agrave;
propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.</p>
<p>Pour pouvoir utiliser cette fonctionnalit&eacute;, vous devez activer
<code class="module"><a href="./mod/mod_include.html">mod_include</a></code> et <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Espa&ntilde;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/custom-error.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; 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 = '&#9776;';
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>