Как изменить поведение по умолчанию для страниц customErrors в Asp.Net - PullRequest
2 голосов
/ 01 сентября 2011

Я использую Asp.Net 4 и C #.

Я хотел бы знать, как изменить стандартное поведение Asp.Net customErrors.

В моем файле Web.Config я использую эти настройки.

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

Как и следовало ожидать, если страница не найдена, происходит перенаправление на пользовательскую страницу, указанную в Web.Config.


Запрашиваемая страница:

http://localhost:1372/nopagehere

Страница результатов:

http://localhost:1372/ErrorPages/404.aspx?aspxerrorpath=/nopagehere

Когда я анализирую заголовок Http для страницы результатов, я вижу:

  • a 404 Состояние, когда страница не найдена
  • a 302 Статус для нового созданного URL

Я бы хотел изменить это поведение следующим образом:

Есть идеи, как это сделать? Спасибо, что уделили нам время.

Ответы [ 2 ]

5 голосов
/ 01 сентября 2011

Полагаю, вы ищете атрибут redirectMode в разделе <customErrors>.

См .: http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

Я думаю, вы хотите установить его на redirectMode="ResponseRewrite".Это выдает 404 и показывает содержимое вашей страницы 404, но без перенаправления на реальную страницу 404.

0 голосов
/ 01 сентября 2011

Может быть, удалить код состояния 404 из пользовательских ошибок и позволить странице перенаправления по умолчанию обработать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...