Що таке помилка 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 не знайдено";
}
|