如何为redirect的Zope创build一个Apache错误页面

我有一些虚拟主机是redirect到Zope服务器进程:

RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/%{HTTP_HOST}:80/theroot/VirtualHostRoot/$1 [L,P] 

当然,如果Zope进程没有运行,redirect失败。 在重启实例(例如更新)或者开发/testing实例(这些实例不应该一直运行)时,可能会发生这种情况。 在这种情况下,我想有一个友好的信息。

因此,为了error handling的唯一目的,我定义了一个DocumentRoot:

 DocumentRoot /var/zope-instances/my-instance/htdocs ErrorDocument 500 /error-500.html ErrorDocument 503 /error-500.html 

不幸的是它不会工作。 当Zope停机的时候尝试一个页面,Apache告诉我:

由于维护停机或容量问题,服务器暂时无法处理您的请求。 请稍后再试。

此外,尝试使用ErrorDocument处理请求时遇到503服务暂时不可用错误。

错误文件是世界可读的; 这些目录是世界可执行的。

我能做些什么来获得错误页面运行? 有没有什么特别的考虑因为mod_rewrite?

我终于find了解决scheme(在这个页面 ); 事实上,这个问题与改写有关。 我修改了我的虚拟主机,像这样:

 RewriteEngine On RewriteCond %{REQUEST_URI} !^/error-50[0-3].html$ RewriteRule ^/(.*) http://localhost:8080/... 

(在我的情况下,当Zopeclosures时,我得到了状态503;我的情况也准备好了更具体的消息)。

由于Apache到目前为止不需要提供静态内容,所以我需要启用mime模块; 在我的情况下:

 cd /etc/apache2/mods-enabled ln -s ../mods-available/mime.load .