Current Path : /compat/linux/proc/self/root/usr/local/share/doc/apache/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/local/share/doc/apache/custom-error.html.fr |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!--Traduction anglais 1.14 --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content="HTML Tidy, see www.w3.org" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Messages d'erreur personnalisés</title> </head> <body text="#000000" link="#0000ff" vlink="#000080" bgcolor="#ffffff"> <div align="CENTER"> <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> <h3>Apache HTTP Server Version 1.3</h3> <p><small><em>Is this the version you want? For more recent versions, check our <a href="/docs/">documentation index</a>.</em></small></p> </div> <h1 align="CENTER">Messages d'erreur personnalisés</h1> <h3>But</h3> <p>Fonctionnalité additionnelle. Permet aux administrateurs Web de personnaliser les réponses données par Apache en cas de problèmes. Les réponses personnalisées définies peuvent être activables lorsque le serveur est à même de détecter la cause du problème.</p> <p>ex. si un script termine en faute, produisant une réponse "500 Server Error", alors cette réponse peut être remplacée soit par un texte quelque peu plus explicatif soit par une redirection vers une autre URL (locale ou externe).</p> <h3>Ancien comportement</h3> <p>La version 1.3 d'httpd du NCSA répondait souvent avec des messages d'erreur ennuyeux et peu amènes qui étaient sans signification pour l'utilisateur, et ne donnait pas les symptômes qui pouvaient causer la faute.</p> <h3>Nouveau comportement</h3> <p>On pourra désormais demander au serveur :</p> <ol> <li>D'afficher un autre texte, plutôt que les messages standard NCSA, ou</li> <li>rediriger l'utilisateur vers une URL locale, ou encore</li> <li>rediriger l'utilisateur vers une URL sur un autre serveur.</li> </ol> <p>La redirection vers une autre URL peut être utile, mais seulement si certaines informations peuvent être passées et qui serviront à produire un affichage ou un enregistrement du problème plus clair et explicite.</p> <p>Pour ce faire, Apache définira de nouvelles variables d'environnement ( à la mode CGI), ex.</p> <blockquote> <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg<br /> REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)<br /> REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br /> REDIRECT_QUERY_STRING=<br /> REDIRECT_REMOTE_ADDR=121.345.78.123<br /> REDIRECT_REMOTE_HOST=ooh.ahhh.com<br /> REDIRECT_SERVER_NAME=crash.bang.edu<br /> REDIRECT_SERVER_PORT=80<br /> REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br /> REDIRECT_URL=/cgi-bin/buggy.pl</code> </blockquote> <p>notez le préfixe <code>REDIRECT_</code>.</p> <p>Seront au moins passés à la nouvelle URL les variables <code>REDIRECT_URL</code> et <code>REDIRECT_QUERY_STRING</code> (en supposant que l'URL de redirection est un script CGI ou un Include CGI). Les autres variables n'existeront que si elles existaient déjà avant l'apparition du problème. <b>Aucune de ces deux variables</b> ne sera initialisée si votre Document d'erreur est le résultat d'une redirection <i>externe</i> (c-à-d. toute adresse commençant par le nom d'un plan de protocole comme <code>http:</code>, même si le protocole invoqué aboutit sur le même hôte que le serveur à l'origine de la redirection).</p> <h3>Configuration</h3> <dl> <dd>L'utilisation des documents "ErrorDocument" est autorisée dans les fichiers .htaccess lorsque la surcharge <a href="mod/core.html#allowoverride">"FileInfo"</a> est active.</dd> <dd>En voici quelques exemples...</dd> </dl> <div style="margin-left: 2em"> <blockquote> <code>ErrorDocument 500 /cgi-bin/crash-recover<br /> ErrorDocument 500 "Désolé, votre script s'est vautré. Fichtre"<br /> ErrorDocument 500 http://xxx/<br /> ErrorDocument 404 /Lame_excuses/not_found.html<br /> ErrorDocument 401 /Subscription/how_to_subscribe.html</code> </blockquote> <dl> <dd>La syntaxe admise est :</dd> <dd><a href="mod/core.html#errordocument"><font face="Courier New" size="2">ErrorDocument</font></a> <code à trois chiffres> action</dd> <dd>dans laquelle l'action peut être :</dd> </dl> </div> <div style="margin-left: 4em"> <ol> <li>Le texte devant être affiché. Le texte devra être préfixé par un guillemet ("). Tout ce qui suit le guillemet sur la ligne est affiché. <em>Notez : le préfixe (") lui-même n'est pas affiché.</em></li> <li>Une URL externe de redirection.</li> <li>Une URL locale de redirection.</li> </ol> </div> <hr /> <br /> <br /> <div style="margin-left: 2em"> <h2>Redirections et affichage d'erreurs personnalisées</h2> <h3>But</h3> <dl> <dd>Le comportement d'Apache lorsqu'il redirige des URL a été modifié afin que d'autres variables d'environnement additionnelles puissent être rendues accessibles par un script/server-include.</dd> </dl> <h3>Ancien comportement</h3> <dl> <dd>Les variables CGI standard étaient transmises au script vers lequel était redirigé le client. Aucune indication n'était transmise quant à qui redirigeait le message.</dd> </dl> <h3>Nouveau comportement</h3> <dl> <dd>Un nouvel ensemble de variables d'environnement sera initialisé, à l'intention du script vers lequel le client a été redirigé. Chaque nouvelle variable de cet ensemble est préfixée par <code>REDIRECT_</code>. Les variables d'environnement de type <code>REDIRECT_</code> sont créées à partir des variables d'environnement CGI qui existaient avant que n'intervienne la redirection, en leur rajoutant le préfixe. Par exemple <code>HTTP_USER_AGENT</code> devient <code>REDIRECT_HTTP_USER_AGENT</code>. En plus de ces variables, Apache définit les variables <code>REDIRECT_URL</code> et <code>REDIRECT_STATUS</code> pour aider le script à identifier l'origine de la redirection. Dans la trace d'accès déduite peuvent apparaître l'URL initiale ainsi que l'URL vers laquelle est redirigée la requête.</dd> </dl> </div> <hr /> <br /> <br /> <p>Si la directive ErrorDocument spécifie une redirection local vers un script CGI, le script devra inclure un champ "<samp>Status:</samp>" dans l'en-tête de sa sortie afin de garantir la retransmiison complète vers le client des conditions d'erreurs qui ont causé son invocation. Par exemple un script Perl devrait inclure les lignes suivantes :</p> <pre> : print "Content-type: text/html\n"; printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; : </pre> <p>Si le script est dédié pour traité une condition d'erreur particulière telle que <samp>404 Not Found</samp>, il peut utiliser le code spécifique et le message d'erreur à la place.</p> <hr /> <h3 align="CENTER">Apache HTTP Server</h3> <a href="./"><img src="images/index.gif" alt="Index" /></a> </body> </html>