Apache ErrorDocument脚本位置

在Linux上使用Apache 2.4,与几个虚拟服务器,每个虚拟服务器与自己的DocumentRoot,我想为Apache主服务器ErrorDocument本地redirect执行一个单一的perl脚本相关的Apache主DocumentRoot,而不是每个下perl脚本虚拟服务器。

会发生什么是虚拟服务器的文档根被用来构build文件系统path,而不是主服务器的文档根。

有什么办法可以configurationApache服务器只使用一个本地redirect脚本,而不是(显然)必须在每个虚拟服务器的DocumentRoot中(相同)的脚本?

您可以通过在全局(服务器)上下文中放置以下指令(即,不在任何<VirtualHost>块内)来设置单个全局错误文档。 它将适用于所有的虚拟主机。 这显示了一个静态的HTML文件,但它可以很容易地修改为一个Perl脚本

别名/error-404.html /path/to/my/errors/error-404.html
 ErrorDocument 404 /error-404.html

 <目录“/ path / to / my / errors”>
  要求全部授予
 </目录>

您可以将ErrorDocument设置为外部资源,例如

ErrorDocument 500 http://error.example.com/server_error.html 

所以你可以参考你的主虚拟主机上的脚本。

信不信由你logging在ErrorLog的文档中 。