ASP.NET / Web.config: customErrors перенаправляет только на 404

У меня такой сценарий:

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

Если пользователь делает что-то, вызывающее ошибку, он должен увидеть трассировку стека и настоящую страницу ошибок.

Это мой текущий файл Web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
        <customErrors>
          <error statusCode="404" redirect="/errors/404.htm" />
        </customErrors>
        <compilation debug="true" strict="false" explicit="true" />
    </system.web>
</configuration>

с этой конфигурацией 404 будет перенаправлен на правильный сайт, но HTTP 500 будет отображаться следующим образом:

Ошибка сервера в приложении '/'

Описание: на сервере произошла ошибка приложения. Текущие пользовательские настройки ошибок для этого приложения не позволяют просматривать подробные сведения об ошибке приложения удаленно (по соображениям безопасности). Однако его могут просматривать браузеры, работающие на локальном сервере.

Подробности: Чтобы подробные сведения об этом конкретном сообщении об ошибке можно было просматривать на удаленных машинах, создайте тег в файле конфигурации «web [.config», расположенном в корневом каталоге текущего веб-приложения. Атрибут mode этого тега должен иметь значение «Off».

[...]

Но в этом случае я хочу показать трассировку стека.

Как я могу это сделать?

Примечание: Мы используем Linux с конструкцией Mono <- FastCGI -> Lighttpd.

9
задан Lyra 5 June 2014 в 13:58
поделиться