Une fonctionnalité additionnelle permet aux webmasters de configurer la réponse d'Apache à certaines erreurs ou problèmes.
Il est possible de définir des réponses personnalisables comme devant être activées lorsque le serveur détecte une erreur ou un problème.
Si un script se crashe et provoque l'envoi d'une réponse "500 Server Error", cette dernière peut être remplacée soit par un texte plus convivial, soit par une redirection vers une autre URL (locale ou externe).
httpd 1.3 de NCSA renvoyait d'antiques et obscurs messages d'erreur ou de problème qui la plupart du temps n'avaient aucune signification pour l'utilisateur, et ne permettaient pas de journaliser les symptomes qui les avaient causés.
Il est possible de demander au serveur :
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 et/ou journaliser l'erreur ou le problème plus clairement.
Pour y parvenir, Apache va définir de nouvelles variables d'environnement de style CGI :
Notez le préfixe REDIRECT_.
Au minimum REDIRECT_URL et
      REDIRECT_QUERY_STRING seront transmises à la nouvelle
      URL (en supposant qu'il s'agit d'une inclusion ou d'un script
      cgi). Les autres variables ne seront présentes que si elles
      existaient avant que l'erreur ou le problème ne survienne.
      Aucune d'entre elles ne sera définie si votre
      directive http:, même si elle fait
      référence au même hôte que le serveur).
L'utilisation de la directive 
Voici quelques exemples...
La syntaxe est la suivante :
où action peut être :
Lors d'une redirection d'URL, Apache a modifié son comportement et les scripts ou inclusions côté serveur disposent maintenant de variables d'environnement supplémentaires.
Un script vers lequel une requête avait été redirigée avait accès aux variables CGI standards, sans indication sur l'origine de la redirection.
Un nouveau jeu de variables d'environnement va être initialisé
      à des fins d'utilisation par un script vers lequel une requête
      aura été redirigée. Chaque nouvelle variable sera préfixée par
      REDIRECT_. Les variables d'environnement
      REDIRECT_ sont créées à partir des variables
      d'environnement CGI existant avant la redirection, et renommées en
      leur ajoutant le préfixe REDIRECT_ ; par exemple,
      HTTP_USER_AGENT devient
      REDIRECT_HTTP_USER_AGENT. En plus de ces nouvelles
      variables, Apache va définir REDIRECT_URL et
      REDIRECT_STATUS pour aider le script à remonter à
      l'origine de la redirection. L'URL originale et l'URL de
      redirection peuvent être enregistrées dans le journal des
      accès.
Si la directive ErrorDocument spécifie une redirection locale
      vers un script CGI, ce dernier doit ajouter un en-tête
      "Status:" 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
      :
Si un script est dédié à la gestion d'une condition d'erreur
      spécifique, telle que 404 Not Found, il
      peut utiliser le code et le texte de l'erreur spécifiques à la
      place.
Notez que si la réponse contient un en-tête
      Location:, le script doit émettre un en-tête
      Status: approprié (tel que
      302 Found) afin de provoquer une redirection au
      niveau du client. Dans le cas contraire, l'en-tête
      Location: risque de n'avoir aucun effet.