2009-08-30 4 views
0

Я получил это в моем web.config, и это время организована DiscountASP.net ISP404 ошибки не показывая

<customErrors mode="On" defaultRedirect=""> 
     <error statusCode="404" redirect="404.aspx"/> 
     <error statusCode="500" redirect="404.aspx"/> 
    </customErrors> 

Я хостинг сайта на DiscountASP.NET и они также говорят Вам настройте его таким образом. Я использую Enterprise Library, но я не думаю, что это должно иметь значение. Я не верю, что мне нужно настроить anythign для 404 в EL.

Когда моя страница загружается с ошибкой, мой 404.aspx не отображается, и я получаю сообщения об ошибках по умолчанию. Я не знаю, почему я не показываю свою страницу 404.aspx и получаю ее вместо этого:

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

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

Примечания: Текущая страница ошибки вы видите можно заменить на пользовательскую страницу ошибок, изменив «defaultRedirect» атрибут конфигурации тега приложения, чтобы указать на страницу ошибки URL.

+0

, когда вы идете на страницу, которая не существует ли 404 хит? – Rob

ответ

1

Вы пробовали использовать относительный путь, чтобы узнать, имеет ли это значение?

<error statusCode="404" redirect="~/404.aspx"/> 

В качестве альтернативы, попробуйте абсолютный путь:

<error statusCode="404" redirect="http://www.domain.com/errors/404.aspx"/> 

EDIT: Как уже отмечалось, и на основе вашего комментария к другой ответ, страница 404 ошибка должна отображаться, когда кто-то переходит на страницу, которая не существует, тогда как общие ошибки на странице могут быть захвачены по умолчаниюRedirect. Поэтому, если вы тестируете 404, убедитесь, что вы тестируете несуществующую страницу. Чтобы проверить значение по умолчаниюRedirect, попробуйте удалить одну из ваших страниц и т. Д.

0

Возможно ли, что вы перекрывая это в другой web.config, скажем, в подпапке? Или мы можем пойти в другую сторону. Вы уверены, что это в корне приложения?

+0

нет, я фактически удалил все файлы и повторно загрузил их в ISP. Только один web.config. – PositiveGuy

0

Есть ли причина, по которой вы не хотите использовать ошибку DefaultRedirect для 500?

+0

не уверен, что мне это действительно нужно. – PositiveGuy

+0

на самом деле я указал так же, как тест 404.aspx для defaultRedirect (я знаю, что это не в моем посте здесь, но я попробовал), и он не сделал diff. Я все еще не вижу никакой страницы erorr. – PositiveGuy

+0

Когда появляется YSOD (Желтый экран смерти), вы видите код ответа как 500 в данных или скрипаче? – Ramesh

0

Вы работаете в FTP-правиле? Попробуйте загрузить файл в виде двоичного файла вместо текста. Возможно, вы страдаете от проблемы с кодировкой. Я готов сделать ставку прямо сейчас, что вы ничего не делаете в своем web.config.

0

Я нашел решение here. Реальный улов использовал это:

Response.TrySkipIisCustomErrors = true; 
Смежные вопросы