kingsa Ответов: 2

Customerrors="on" использование кода состояния 302 вместо кода 404 на вкладке Сеть в браузере


Привет ,
Я попытался перенаправить страницы ошибок на пользовательские страницы ,но на вкладке Сеть в браузере она отображается как 302 вместо 404, пожалуйста, предложите, как я могу преодолеть эту проблему

Что я уже пробовал:

<customerrors mode="On">
&ЛТ;перенаправление ошибка="~/ошибки/Error401" состояния="401"и GT;
&ЛТ;перенаправление ошибка="~/ошибки/Error403" состояния="403"и GT;
<error redirect="~/Error/Error404" statuscode="404">
<error redirect="~/Error/Error500" statuscode="500">

2 Ответов

Рейтинг:
1

Richard Deeming

По умолчанию, ASP.NET будет выдавать а 302 перенаправление на обработчик ошибок. Вы можете изменить это, установив redirectMode к ResponseRewrite:

<customErrors mode="On" redirectMode="ResponseRewrite">
    <error redirect="~/Error/Error401" statusCode="401" />
    <error redirect="~/Error/Error403" statusCode="403" />
    <error redirect="~/Error/Error404" statusCode="404" />
    <error redirect="~/Error/Error500" statusCode="500" />
</customErrors>
NB: Убедитесь, что ваш обработчик ошибок устанавливает соответствующий код состояния в ответе, иначе все ошибки могут вернуть состояние 200.


Рейтинг:
1