Как создать страницу ошибок Apache для перенаправленного Zope

У меня есть несколько виртуальных хостов, которые перенаправляют на процессы сервера Zope:

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

Конечно, если процесс Zope не запущен, перенаправление не выполняется. Это может произойти во время перезапуска экземпляра (например, для обновления) или для экземпляров разработки / тестирования, которые не должны запускаться постоянно. Я хотел бы иметь дружеское сообщение в этом случае.

Таким образом, для единственной цели обработки ошибок я определил DocumentRoot:

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

К сожалению, это не сработает; при попытке страницы, когда Zope не работает, Apache говорит мне:

Сервер временно не может обслуживать ваш запрос из-за простоя обслуживания или проблем с пропускной способностью. Пожалуйста, попробуйте позже.

Кроме того, при попытке использовать ErrorDocument для обработки запроса произошла ошибка 503 "Служба временно недоступна".

Документы об ошибках читаются по всему миру; каталоги являются исполняемыми во всем мире.

Что я могу сделать, чтобы запустить страницу с ошибкой? Есть что-то особенное, чтобы рассмотреть из-за mod_rewrite?

1 ответ

Решение

Я наконец нашел решение (на этой странице); действительно, проблема была связана с переписыванием. Я изменил свой виртуальный хост так:

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

(в моем случае я получаю статус 503, когда Zope не работает; мое состояние готово и к более конкретным сообщениям).

Поскольку Apache до этого момента не нуждался в обслуживании статического контента, мне нужно было включить модуль mime; в моем случае:

cd /etc/apache2/mods-enabled
ln -s ../mods-available/mime.load .
Другие вопросы по тегам