Я не уверен насчет Zend, но в Java / Servlet вы можете определить страницы ошибок для конкретных кодов ошибок (определение содержится в WEB-INF / web.xml):
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
Местоположение не обязательно должно быть jsp и затем может быть проверено фильтром, который приведет пользователя к соответствующему контроллеру.