Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 15179|Ответ: 0

[ASP.NET] Asp.Net настройка на 404 страницы

[Скопировать ссылку]
Опубликовано 24.12.2015 17:39:45 | | | |


Что такое ошибка 404?
Ошибка HTTP 404 означает, что веб-страница, на которую указывает ссылка, не существует, то есть URL оригинальной веб-страницы недействительна, что часто случается и трудно избежать, например: изменения правил генерации URL веб-страницы, переименование или перемещение файла веб-страницы, ошибка в написании импортированной ссылки и т.д., в результате чего исходный URL-адрес становится недоступным; Когда веб-сервер получает аналогичный запрос, он возвращает статус 404, сообщающий браузеру, что запрашиваемый ресурс не существует. Однако стандартная страница ошибок 404 для веб-серверов, будь то Apache или IIS, очень примитивна, скучна и неудобна для пользователя, и не предоставляет пользователям необходимой информации для получения дополнительных подсказок, что, несомненно, приведёт к оттоку пользователей.
Роль 404 страниц
Поисковые системы используют HTTP-коды статуса для определения статуса веб-страницы. Если поисковая система получает неправильную ссылку, сайт должен вернуть статус 404 с указанием прекратить индексацию ссылки. Если возвращается статус 200 или 302, поисковые системы индексируют ссылку, в результате чего большое количество разных ссылок, ведущих на один и тот же веб-контент. В результате поисковые системы значительно меньше доверяют сайту.
Как проверить, что пользовательская страница 404 возвращает статус "404"
После настройки пользовательской страницы ошибки 404 обязательно проверьте, правильно ли она возвращает статус "404". Метод проверки тоже довольно прост: введите URL сайта, которого нет на веб-странице, проверьте возврат HTTP-заголовка и убедитесь, что он возвращает статус "404".
404 страницы — это правильное решение
1. Как настроить страницу сервера Apache 404
Добавьте код в файл .htaccess: ErrorDocument 404/Error.html
Создайте простой HTML404 Error.html для названия страницы
Разместите Error.html в корневой каталог вашего сайта.
2. Установить страницу ошибки 404 в отделе IIS/ASP.net
Сначала измените настройки корневой директории приложения, откройте редактирование файла "web.config" и добавьте в него следующее содержимое:

<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="error.asp">
<error statusCode="404" redirect="notfound.asp" />
</customErrors>
</system.web>
</configuration>

В этом примере error.asp — стандартная страница 404, а notfound.asp — кастомизированная страница 404.
Затем добавьте пользовательскую страницу 404 «notfound.asp»:

<%
Response.Status = «404 не найден»
%>

Это гарантирует, что IIS правильно возвращает статус «404»
Дружеское напоминание
1. Не направляйте ошибку 404 напрямую на главную страницу сайта, так как это может привести к тому, что ваша главная страница может не быть включена;
2. /Error.html Пожалуйста, не указывайте перед ним основное доменное имя (неправильное написание: yzznl.cn/error.html, правильное написание :/error.html), иначе возвращаемый статус-код — это статус 302 или 200.
При поиске, как настроить страницу ошибки 404 с asp.net сайта, большинство статей советуют зайти на web.config, найти system.web и настроить следующее.

Копирование кода Код следующий:

<customErrors mode="Включено" статус ошибкиCode="404" redirect="/404.htm" >
</customErrors>


На самом деле, после этого вы получите не заголовок страницы 404 unfound, а информацию о заголовке временного перенаправления 302. Вы можете использовать инструмент Check Headers Tool, чтобы проверить коды статуса HTTP.

Итак, как правильно настроить пользовательские страницы с ошибками 404 для asp.net сайта?

Начните с создания страницы 404.aspx, затем настройте её в customeErrors в файле web.config следующим образом:
customErrors redirectMode="ResponseRewrite"
статус ошибкиCode="404" redirect="~/404.aspx"/
/customErrors

RedirectMode обладает двумя свойствами.
ResponseRedirect означает перенаправление пользователя на эту страницу ошибки, и исходный URL меняется на URL этой страницы ошибки.
ResponseRewrite означает перенаправление пользователя на страницу ошибки без изменения исходного URL в браузере.

Затем в файле 404.aspx.cs добавьте следующий код для события Page_Load:
Копирование кода Код следующий:

protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 не найдены";
}





Предыдущий:ASPX против MVC Page Captcha
Следующий:c# SmtpClient отправляет исходный код электронной почты
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com