<?xml version="1.0" encoding="UTF-8"?> <!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> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>Messages d'erreur personnalisés - 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" 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="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 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="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.4</a></div><div id="page-content"><div id="preamble"><h1>Messages d'erreur personnalisés</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/custom-error.html" title="Français"> fr </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> <p>Le serveur HTTP Apache fournit des messages d'erreur génériques pour les codes de statut 4xx ou 5xx ; ces messages sont cependant relativement austères, imprécis, et peuvent s'avé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ême sous une forme plus en adéquation avec le style de votre site.</p> <p>Il est possible de définir des messages d'erreur personnalisés pour chaque code de statut HTTP associé à une condition d'erreur - c'est à 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ôté Serveur (SSI)</a>. Un programme CGI ou un autre gestionnaire dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables pour gérer les conditions d'erreur.</p> </div> <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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és multilingues</a></li> </ul><h3>Voir aussi</h3><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="configuration" id="configuration">Configuration</a></h2> <p>Les messages d'erreur personnalisés sont configurés via la directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>, qui peut être utilisée dans un contexte global, serveur virtuel ou ré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éfinie à FileInfo.</p> <pre class="prettyprint lang-config">ErrorDocument 500 "Désolé, notre script s'est crashé ; 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 <code_3_chiffres> <action></pre> <p>où action peut être traité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 à afficher (si l'action ne répond à aucune des deux conditions précé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émentaires sont définies de façon à ce que la réponse puisse être personnalisée par la suite. Elles ne sont pas envoyé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><a name="variables" id="variables">Variables disponibles</a></h2> <p>La redirection vers une autre URL peut être utile, mais seulement s'il est possible de transmettre certaines informations qui pourront être utilisées pour expliquer ou journaliser la condition d'erreur ou le problème plus clairement.</p> <p>Pour y parvenir, lorsque la redirection d'erreur est envoyée, des variables d'environnement supplémentaires sont définies à partir des en-têtes de la requête originale en préfixant le nom d'origine de l'en-tête par 'REDIRECT_', ce qui permet de fournir au message d'erreur le contexte de la requête originelle.</p> <p>Par exemple, en plus des variables d'environnement habituelles, vous pouvez recevoir ce qui suit :</p> <div class="example"><p><code> REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br /> REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br /> REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br /> REDIRECT_QUERY_STRING=<br /> REDIRECT_REMOTE_ADDR=121.345.78.123<br /> REDIRECT_REMOTE_HOST=client.example.com<br /> REDIRECT_SERVER_NAME=www.example.edu<br /> REDIRECT_SERVER_PORT=80<br /> REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br /> REDIRECT_URL=/cgi-bin/buggy.pl </code></p></div> <p>Les variables d'environnement <code>REDIRECT_</code> sont créées à partir des variables d'environnement préexistantes à la redirection qui sont préfixées par la chaî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ématiquement définies, les autres variables n'étant définies que si l'en-tête correspondant existait avant la condition d'erreur.</p> <p><strong>Aucune</strong> d'entre elles ne sera définie si votre directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> spécifie une redirection <em>externe</em> (toute URL commençant par un protocole du style <code>http:</code>, même si elle fait référence au même hô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><a name="custom" id="custom">Personnalisation des messages d'erreur</a></h2> <p>Si vous faites pointer votre directive <code>ErrorDocument</code> vers certains gestionnaires dynamiques comme les inclusions côté serveur, les scripts CGI ou d'autres gestionnaires, vous pouvez utiliser les variables d'environnement supplémentaires disponibles pour personnaliser le message.</p> <p>Si la directive ErrorDname-basedocument spécifie une redirection locale vers un script CGI, ce dernier doit ajouter un en-tê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é cette redirection. Par exemple, un script Perl spécifié 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édié à la gestion d'une condition d'erreur spécifique, telle que <code>404 Not Found</code>, il peut utiliser le code et le texte de l'erreur spécifiques à la place.</p> <p>Notez que si la réponse contient un en-tête <code>Location:</code> (afin d'initier une redirection côté client), le script <em>doit</em> émettre un en-tête approprié (comme <code>302 Found</code>). Dans le cas contraire, l'en-tê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><a name="multi-lang" id="multi-lang">Messages d'erreur personnalisés multilingues</a></h2> <p>Vous trouverez dans la distribution du serveur HTTP Apache un répertoire contenant des messages d'erreur personnalisés traduits en 16 langues différentes. Pour activer cette fonctionnalité, vous pouvez aussi inclure un fichier de configuration qui se trouve dans le ré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écommentez la ligne <code>Include</code> pour activer cette fonctionnalité, et présenter des messages d'erreur dont le langage sera négocié en fonction du langage préféré défini au niveau du navigateur du client.</p> <p>De plus, ces documents contiennent diverses variables <code>REDIRECT_</code>, de façon à ce que l'utilisateur final dispose d'informations supplémentaires à propos de ce qui a pu se produire, et de ce qu'il est susceptible de faire maintenant.</p> <p>Ces documents peuvent être personnalisés en fournissant autant d'informations utiles que vous le souhaitez aux utilisateurs à propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.</p> <p>Pour pouvoir utiliser cette fonctionnalité, 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"> en </a> | <a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> | <a href="./fr/custom-error.html" title="Français"> fr </a> | <a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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 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 Libera.chat, or sent to our <a href="https://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/2.4/custom-error.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 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.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>