У меня есть приложение MVC 4, используя специальный HandleErrorAttribute для обработки только пользовательских исключений. Я хотел бы перехватить страницы с ошибками по умолчанию 404 и другие не-500 и заменить их чем-то более привлекательным. С этой целью я добавил в свой Web.config следующее:
<system.web>
<customErrors mode="On" defaultRedirect="~/Error/Index" />
...
</ system.web>
У меня есть контроллер Error с методом Index и соответствующим представлением, но все же я получаю страницу ошибки 404 по умолчанию. Я также попытался установить мой defaultRedirect
в статический html файл безрезультатно. Я попытался добавить обработку ошибок, относящуюся к 404 внутри <customErrors>
, и я даже попытался модифицировать маршруты programattically, все без каких-либо результатов. Что мне не хватает? Почему ASP игнорирует мою обработку ошибок по умолчанию?
Примечание. Ранее я заметил, что локально не могу проверить свой атрибут CustomHandleErrorAttribute, даже с помощью <customErrors mode="On"
. Он работает, когда я ударил его на своем сервере из моего dev-бокса, хотя... не уверен, что это связано. У этого парня была та же проблема.