Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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»:

<%
Відповідь.Статус = "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, а інформацію про заголовок тимчасового перенаправлення 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 події:
Копіювання коду Код виглядає так:

захищена порожнеча Page_Load(відправник об'єкта, EventArgs e)
{
Відповідь.Статус = "404 не знайдено";
}





Попередній:ASPX проти MVC Page Captcha
Наступний:c# SmtpClient надсилає вихідний код електронної пошти
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com