Fonctionnalité additionnelle. Permet aux administrateurs Web de personnaliser les réponses faîtes par Apache en cas de problème. Les réponses personnalisées définies peuvent être activables lorsque le serveur est à même de détecter la cause du problème.
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).
La version 1.3 d'httpd du NCSA répondait souvent des messages d'erreur ennuyeux et peu amènes qui résultaient avoir une signification assez opaque pour l'utilisateur, et ne permettait que difficilement une explicitation des symptômes qui pouvaient causer la faute.
On pourra désormais demander au serveur :
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.
Pour ce faire, Apache définira de nouvelles variables d'environnement ( à la mode CGI), ex.
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg
REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712)
REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=ooh.ahhh.com
REDIRECT_SERVER_NAME=crash.bang.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
REDIRECT_URL=/cgi-bin/buggy.pl
notez le préfixe REDIRECT_
.
Seront au moins passés à la nouvelle URL les variables REDIRECT_URL
et REDIRECT_QUERY_STRING
(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. Aucune de ces deux variables ne sera initialisée si votre Document d'erreur est le résultat d'une redirection externe (c-à-d. toute adresse commençant par le nom d'un plan de protocole comme http:
, même si le protocole invoqué aboutit sur le même hôte que le serveur à l'origine de la redirection).
ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 "Désolé, votre script s'est vautré. Fichtre
ErrorDocument 500 http://xxx/
ErrorDocument 404 /Lame_excuses/not_found.html
ErrorDocument 401 /Subscription/how_to_subscribe.html
REDIRECT_
. Les variables d'environnement de type REDIRECT_
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 HTTP_USER_AGENT
devient REDIRECT_HTTP_USER_AGENT
. En plus de ces variables, Apache définit les variables REDIRECT_URL
et REDIRECT_STATUS
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. Version française © Valery Fremaux / EISTI 1998