Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / error404 / 21 сообщений из 21, страница 1 из 1
09.01.2015, 12:44
    #38850685
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Подскажите, как правильно обрабатывать 404-ю ошибку.

Сейчас сделано следующее:

<customErrors mode="RemoteOnly" defaultRedirect="~/error.aspx" >
<error statusCode="403" redirect="~/error.aspx" />
<error statusCode="404" redirect="~/error404.aspx" />
<error statusCode="500" redirect="~/error.aspx" />
</customErrors>

Если в error404.aspx.cs добавить
...
Рейтинг: 0 / 0
09.01.2015, 12:50
    #38850688
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Подскажите, как правильно обрабатывать 404-ю ошибку.

Сейчас сделано следующее:

<customErrors mode="RemoteOnly" defaultRedirect="~/error.aspx" >
<error statusCode="403" redirect="~/error.aspx" />
<error statusCode="404" redirect="~/error404.aspx" />
<error statusCode="500" redirect="~/error.aspx" />
</customErrors>

Если в error404.aspx.cs добавить

Response.StatusCode = 404;
Response.StatusDescription = "File not found";

то локально страница открывается и статус 404, но реальный сайт вместо этой страницы отдаёт свою дефолтную 404.

Если в error404.aspx.cs заокоментить эти строки

Response.StatusCode = 404;
Response.StatusDescription = "File not found";

то реальный сайт в случае ошибки 404 показывает error404.aspx верно, но со статусом 200.

Как сделать так, чтобы сайт правильно отдавал error404.aspx со статусом 404.
Изменение customErrors mode на On или Off никак не меняет ситуацию
...
Рейтинг: 0 / 0
09.01.2015, 12:56
    #38850694
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
igan,

Mode здесь не при чем. Конечно статус будет 200 - это же редирект обработчика ошибок на Вашу Error404.aspx. Так что все верно. зачем Вам еще один HTTP Response со статусом 404? Какова цель?
...
Рейтинг: 0 / 0
09.01.2015, 12:59
    #38850699
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Для seo.

Можно конешно error404.aspx запретить индексировать в robots.txt
но хочется научиться отдавать свой контент со статусом 404.
...
Рейтинг: 0 / 0
09.01.2015, 13:02
    #38850704
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
igan,

Если Вы это и сделаете, то получите бесконечную рекурсию на Error404.aspx с постоянной перегрузкой этой страницы пока не убьете ее.
...
Рейтинг: 0 / 0
09.01.2015, 13:04
    #38850708
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Не изобретайте велосипед, CustomErrors был создан чтобы автоматизировать процесс редиректа пользователя на юзер-фриендли страницу по статусу HTTP response.
...
Рейтинг: 0 / 0
09.01.2015, 13:05
    #38850709
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
В этом и есть вопрос - как запретить серверу для конкретной страницы реагировать на отдаваемый ей статус.

У яндекса ( например http://ya.ry/usdsdjhdsdf/) отадётся свой контент со статусом 404. Я также кочу.
...
Рейтинг: 0 / 0
09.01.2015, 13:07
    #38850712
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Axeleron,

Я не изобретаю велосипед, проблема не высосана из пальца. link
...
Рейтинг: 0 / 0
09.01.2015, 13:08
    #38850713
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
igan,

Возьмите Fiddler или WinShark и посмотрите какой статут Yandex возвращает на ошибке 404.
...
Рейтинг: 0 / 0
09.01.2015, 13:09
    #38850714
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
...
Рейтинг: 0 / 0
09.01.2015, 13:11
    #38850716
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Я сначала посмотрел как сделано у яндекса - там отдаётся frendly контент со статусом 404.
Я теперь хочу сделать у себя также. Локально работает.
...
Рейтинг: 0 / 0
09.01.2015, 13:25
    #38850736
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Или можно поставить вопрос иначе:
Как поменять содержимое дефолтной404, которую отдаёт iis
http://s010.radikal.ru/i314/1501/63/af3e59ad53c3.png
...
Рейтинг: 0 / 0
09.01.2015, 13:43
    #38850749
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
igan,

Так просто 'нарисовать' в Error404.aspx что-то похожее - оформить и по-дружески пользователю сообщить: "Ошибка 404, Страница не найдена". И дать линк обратно на главную.
...
Рейтинг: 0 / 0
09.01.2015, 13:59
    #38850759
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Axeleron,

статус будет 200. А нужно вывести этоже со статусом 404.
...
Рейтинг: 0 / 0
09.01.2015, 14:16
    #38850772
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
igan,

Ну сделайте так в Error404.aspx.cs
Код: c#
1.
2.
3.
4.
5.
protected override void Render(HtmlTextWriter writer)
{
    base.Render(writer);
    Response.StatusCode = 404;
}
...
Рейтинг: 0 / 0
09.01.2015, 20:05
    #38851000
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Axeleron,

после добавления вашего кода, ситуация не изменилась.
Ведёт себя также, как и с этим кодом

Response.StatusCode = 404;
Response.StatusDescription = "File not found";
...
Рейтинг: 0 / 0
09.01.2015, 20:11
    #38851001
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
сейчас задачу решил так:
...
Рейтинг: 0 / 0
09.01.2015, 20:12
    #38851003
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
сейчас задачу решил так:

тут
%SystemDrive%\inetpub\custerr\<LANGUAGE-TAG>\404.htm
разместил свой html
...
Рейтинг: 0 / 0
10.01.2015, 00:41
    #38851061
Calabonga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
не совсем понятно, о каком типе проекта идет речь, но в MVC можно так
...
Рейтинг: 0 / 0
10.01.2015, 01:07
    #38851066
igan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Calabonga,

asp.net
...
Рейтинг: 0 / 0
10.01.2015, 10:50
    #38851135
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
error404
Calabongaне совсем понятно, о каком типе проекта идет речь, но в MVC можно так в первом же сообщении aspx фигурирует
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / error404 / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]