Усунення несправностей HTTP 404 Not Found на IIS - Посібник системного адміністратора


Увімкніть детальні помилки в IIS і візьміть точний запитуваний URL, потім порівняйте його з прив'язками сайту, щоб визначити, який сайт або vdir призначений. Ця перша дія часто розкриває, чи відсутній ресурс, загублений чи знаходиться в іншому місці у вашій інфраструктурі, допомагаючи швидко знайти власника відображення та правильний шлях.
Визначте, чи походить 404 від відсутнього файлу, неправильно налаштованого віртуального каталогу чи перенаправлення, яке вказує на неіснуюче місце. В IIS Manager перевірте налаштування vdir і підтвердіть фізичний шлях на диску, потім перевірте дозволи на папку, щоб процес працівника міг продовжувати роботу над різними сайтами. Якщо у вас кілька сайтів, перелічіть їх кореневі папки та місця, які вони обслуговують, щоб уникнути плутанини між сайтами.
Для веб-додатків, що використовують постійні посилання, переконайтеся, що правила переписування URL або відображення обробників не маскують справжній 404 дружньою сторінкою. Оновіть web.config або правила переписування URL, потім протестуйте інтернет-шлях з браузера та серверних логів, щоб підтвердити, що результуючий URL розв'язується до фактичного файлу або дійсного маршруту.
Якщо ресурс відсутній, створіть заповнювач або перемістіть файл до призначеного місця, або налаштуйте правильний статичний/ASP.NET маршрут для обслуговування ресурсу. Для кожного сайту ведіть запис про власника та призначене місце вмісту, щоб прискорити майбутні ідентифікації. Використовуйте постійні посилання, щоб перевірити, що канонічні URL відображаються на існуючі ресурси, зменшуючи майбутні загублені 404.
Потім продовжуйте систематичну перевірку: перевірте URL, орієнтований на інтернет, переконайтеся, що DNS та заголовки хоста вказують на правильний сайт, і відобразіть постійні посилання на реальний шлях файлу. Якщо ви все ще бачите 404, відстежте запит з логів запитів IIS, визначаючи, де шлях загублений, і відповідно скорегуйте, документуючи зміни для власника та команди.
Аналізуйте логи IIS на предмет шаблонів 404 та невдалих URL

Експортуйте найновіші логи IIS і фільтруйте відповіді 404. Шукайте часті шляхи URL та мітку часу першого виявлення, щоб визначити повторювані проблеми, що впливають на людей, які намагаються досягти вашого сайту.
Шаблони в 404 розкривають поширені причини: відсутні ресурси, неправильно налаштовані записи vdir та помилка в посиланні. Деякі проблеми походять від перенаправленого або переміщеного вмісту, тоді як інші надходять від внутрішньої навігації чи зовнішніх посилань. Запишіть значення vdir у ваших нотатках, щоб зберегти індексацію послідовною. Створіть список топ-порушників і відстежуйте підрахунки з часом, щоб відрізнити випадкові пропуски від регулярно повторюваних проблем.
Використовуйте поля реферала та user-agent, щоб оцінити, чи походить проблема від пошуку, інших сайтів чи прямих запитів. Це допомагає вам пріоритизувати вирішення корінної причини та покращення користувацького досвіду з меншим тертям.
Експортуйте уявлення, дружнє до таблиць, 404, включаючи шлях URL, підрахунок, перше виявлення, реферал та нотатки. Цей формат, дружній до друку, підтримує оновлення зацікавлених сторін та збереження єдиного джерела істини для оптимізації шляхів та індексації.
| Шлях URL | Статус | Підрахунок | ПершеВиявлення | Реферал | Нотатки |
|---|---|---|---|---|---|
| /images/logo.png | 404 | 120 | 2025-11-01 08:23:11 | https://example.com/home | Відсутній файл на диску |
| /docs/guide.html | 404 | 68 | 2025-11-02 09:12:05 | https://example.com/manuals | Переміщено до /docs/user-guide.html; оновіть посилання |
| /shop/vdir/index.html | 404 | 42 | 2025-11-03 11:01:22 | https://example.com/shop/ | Неправильне налаштування VDir; перевірте шлях |
Дії для вирішення та запобігання 404
Для відсутніх ресурсів відновіть файл або створіть 301 перенаправлення на правильний URL. Для неправильно налаштованих vdir перевірте шлях vdir в IIS Manager, перевірте applicationHost.config і переконайтеся, що існує фізичний шлях. Для помилок у друку виправте посилання, оновіть вміст про сторінку та регулярно оновлюйте внутрішні пошукові індекси.
Надрукуйте узагальнений звіт і поділіться ним з командою підтримки. Продовжуйте оновлювати поточний список змін, щоб відстежувати, що спрацювало, а що ні. Для кількох частих порушників впроваджуйте цільові перенаправлення та видаляйте мертві посилання, щоб зменшити майбутні помилки.
Регулярно переглядайте шаблони, які ви збираєте, оптимізуючи обробку 404, і тестуйте перенаправлення в середовищі staging перед застосуванням оновлень до production. Цей підхід мінімізує помилки та допомагає людям мати плавніший досвід під час навігації по вашому сайту.
Перевірте прив'язки сайту, заголовки хоста та віртуальні каталоги
Перегляньте та виправте прив'язки негайно: переконайтеся, що заголовок хоста, IP та порт відповідають запиту клієнта і що назва сайту відповідає URL у використанні.
Перевірки прив'язок
Відкрийте IIS Manager, перейдіть до Sites > [your site] > Bindings. Перевірте, чи є прив'язка для http (та https, якщо використовується) з правильним IP та портом. Якщо кілька сайтів ділять той самий IP:port, додайте значення імені хоста (заголовок хоста), яке відповідає поточному URL, щоб правильно маршрутизувати запити.
Тестуйте запити з точним заголовком хоста: curl -I -H "Host: example.com" http://server/ або використовуйте браузер. Якщо 404 триває, прив'язка може бути правильною, але запитаний шлях обробляється іншим сайтом.
Для https перевірте, чи сертифікат відповідає імені хоста в прив'язку. Перевірте суб'єкт та SANs, і переконайтеся, що прив'язка використовує правильний сертифікат на порту 443. Невідповідність може призвести до невдалих запитів, які виглядають як відсутні ресурси.
Перевірте DNS та шари проксі: переконайтеся, що вхідний запит несе очікуваний заголовок хоста; неправильне налаштування проксі може спричинити, що запити потрапляють на неправильний сайт, даючи 404 для дійсних шляхів.
Віртуальні каталоги та конфігурація шляху
Перевірте, чи існує псевдонім віртуального каталогу під сайтом; псевдонім повинен з'являтися як сегмент URL (наприклад, /files). Перегляньте фізичний шлях у правій панелі та підтвердіть, що папка існує та доступна для ідентичності пулу додатків.
Перетворіть на Application, коли каталог повинен виконувати код. Клацніть правою кнопкою миші на віртуальний каталог > Convert to Application, виберіть правильний Application Pool і переконайтеся, що ідентичність пулу має дозволи на читання до фізичного шляху.
Перевірте документи за замовчуванням, якщо ви покладаєтеся на URL на рівні каталогу; переконайтеся, що є дійсний документ за замовчуванням (index.html, default.aspx тощо) або надайте явний шлях файлу у ваших посиланнях.
Перегляньте правила web.config та переписування URL, які можуть перенаправляти в неіснуючий шлях. Погане правило може виробляти 404 відсутнього ресурсу для інакше дійсних сторінок; скорегуйте або видаліть суперечливі правила.
Валідація дозволів: надайте читання/виконання IIS_IUSRS та ідентичності пулу додатків на фізичний шлях, і перевірте NTFS ACLs, які дозволяють доступ для очікуваного користувача. Відсутні дозволи часто спричиняють 404, які виглядають так, ніби вміст зник.
Тестуйте знову після змін: запитайте проблемний URL і підтвердіть 200 або відповідне перенаправлення; якщо перенаправлення зациклюється або ресурс залишається відсутнім, перегляньте правила переписування та логи запуску в пулі додатків.
Використовуйте базовий краул, щоб виявити поточну проблему щодо відсутніх сторінок, спричинених прив'язками або віртуальними каталогами. grep через логи IIS на записи 404, щоб знайти, які запити не вдаються, потім усуньте корінну причину та протестуйте знову в свіжий краул. Збережіть результати та поділіться стислим підсумком з адміністраторами та колегами на linkedin, щоб тримати всіх узгодженими, поки ви обробляєте проблему.
Валідація шляхів файлів, фізичного існування та дозволів файлів
Перевірте фізичний шлях сайту в IIS Manager і переконайтеся, що шлях існує на диску. В Basic Settings для сайту або віртуального каталогу підтвердіть, що папка, на яку ви вказуєте, містить очікуваний вміст. Якщо шлях змінився, відновіть оригінальне місце або виправте відображення в snap-in, щоб запити адресували правильну папку; інакше IIS завантажує нічого, і ви бачите 404.
Підтвердіть, що файл фактично існує на файловій системі та що ідентичність пулу додатків має права на проходження та читання. Використовуйте File Explorer або icacls, щоб перевірити ACLs на папці та всіх батьківських папках. Надайте Read та List Folder Contents та Traverse ідентичності пулу додатків (наприклад, IIS APPPOOLYourAppPool) на корінь вмісту та файли всередині. Якщо дозволи неправильні, IIS вказує на відмову в доступі, і двигун може повернути 404, навіть коли файл існує. Скорегуйте ACLs відповідним чином і перетестуйте. Якщо ви не впевнені, тимчасово призначте доступ на читання відомому користувачеві, щоб підтвердити завантаження файлу.
Перевірте відображення типів mime для розширень, які ви обслуговуєте. Відкрийте тип mime для сайту та переконайтеся, що розширення має пов'язаний тип mime; відсутні відображення часто дають 404. Якщо потрібно, додайте поширені типи (.html, .css, .js, зображення, шрифти) та перевірте, що надсилається правильний content-type. Також перевірте, що URL у стилі permalink завантажуються з правильної папки; невідповідність між маршрутом permalink та фізичним шляхом може спричинити 404 для як статичних, так і динамічних активів.
Перегляньте налаштування авторизації запитів сайту. В snap-in перейдіть до Authorization Rules сайту та переконайтеся, що ідентичність клієнта дозволена читати запитану папку. Якщо правило deny блокує файл, двигун може повернути 404 для деяких шляхів; видалення правила або звуження допомагає. Підтвердіть, що Anonymous Authentication увімкнено, якщо ви покладаєтеся на публічний доступ, і перевірте налаштування на рівні домену або сайту, якщо кілька сайтів ділять той самий корінь вмісту.
Увімкніть та перевірте логи та трасування. Увімкніть Failed Request Tracing для помилок 404 або перегляньте логи IIS, щоб визначити кількість хітів та адресу запиту. Шукайте точний URL, відображений шлях та шлях файлу від двигуна; ці ідентифікаційні дані допомагають розташувати джерело. Використовуйте інформацію для відновлення правильного шляху, виправлення порядку завантаження та запобігання frustrating повторенням. На сайтах, орієнтованих на інтернет, перевірте, що профілі домену та фізичний шлях узгоджені; маленька невідповідність може зламати доступ для кількох сайтів. Після змін перезавантажте пул додатків, щоб застосувати нові відображення та дозволи. Якщо ви адресуєте 404 послідовно, спочатку усуньте корінну причину, а потім перевірте шлях користувача через всі сайти.
Перегляньте правила переписування URL та конфігурації користувацьких помилок
Експортуйте поточні правила переписування URL з IIS для кожного сайту та порівняйте їх з відомим добрим базисом, щоб визначити неправильні налаштування, які призводять до результатів 404. Це розкриє, чи походить проблема від переписаного URL, відсутнього ресурсу чи неправильного шляху користувацької помилки.
Що перевірити
Знайдіть правила в web.config або через модуль URL Rewrite для кожного сайту. Перегляньте шаблон та умови, які запускають переписування або перенаправлення, і перевірте, що цільовий URL вказує на існуючий ресурс або правильну html-сторінку, визначену в Custom Errors. Підтвердіть, що запис 404 визначений і що шлях, використаний для сторінки помилки, існує під коренем сайту. Перевірте на конфлікти між сайтами, які ділять єдиний пул додатків, що відображають ті самі шляхи.
Аудит порядку оцінки: перше відповідне правило зупиняє подальшу обробку. Шукайте вхідні або вихідні правила, які можуть захопити 404 перед запуском обробника користувацької помилки, і переконайтеся, що є резервна сторінка 404 у налаштованому місці. Перегляньте будь-які глобальні або налаштування на рівні сайту, які можуть перевизначати конфігурацію на рівні сайту.
Як застосовувати виправлення

Якщо правило неправильно налаштоване, скорегуйте шаблон відповідності, дію переписування та призначення. Переконайтеся, що відсутній ресурс не переписується на існуючий шлях, який повертає не-404 відповідь. Оновіть розділ Custom Errors, щоб запити 404 маршрутизувалися до реального html-файлу, і перевірте, що файл розгорнутий з правильними дозволами. Після змін перезавантажте пул додатків і протестуйте з різних середовищ клієнтів, щоб підтвердити послідовні результати. Використовуйте серверні логи та дані Failed Request Tracing (FRT), щоб визначити точне правило та фінальну сторінку відповіді.
Відтворюйте невдачі з цільовими тестами та моніторьте відповіді
Рекомендація: Відтворюйте 404 з цільовими тестами та моніторьте відповіді в спільній панелі. Захоплюйте докази в accesslog і призначайте власника для кожного шаблону, щоб прискорити виправлення. Цей підхід допомагає менеджменту бачити поточний вплив і пріоритизувати виправлення через області сайтів.
Експортуйте останні 200 записів 404 з accesslog для сайту. Для кожного запису запишіть час, IP клієнта, ім'я хоста, запитаний URL, реферал, user-agent, статус та розмір відповіді. Якщо ви спостерігаєте відсутні активи під пов'язаними шляхами, це вказує на шаблони, а не ізольовані випадки. Створіть стислий список тестів з цих сигналів, щоб зробити наступні кроки.
Тестуйте варіації шляхів: запитайте відомі відсутні URL з та без слеша в кінці; змініть регістр сегментів; додайте або видаліть рядки запитів; порівняйте відповіді для статичних активів проти динамічних маршрутів. Включіть як GET, так і HEAD методи, щоб підтвердити, що сервер повертає 404 перед будь-якими небажаними перенаправленнями чи переписуваннями.
Використовуйте Failed Request Tracing (FRT), коли доступно, і крос-перевірте з accesslog для тих самих міток часу. Ці траси вказують, яке правило або модуль заблокував ресурс, або якщо ресурс дійсно відсутній. Пов'яжіть результати з метрикою панелі: підрахунок 404 за маршрутом, за хостом та за обліковим записом. Ця чудова кореляція прискорює розслідування та розкриває поточні гарячі точки.
Для ресурсів за шаром переписування або маршрутизації перевірте пов'язаний web.config, правила URL Rewrite та будь-які конфігурації, подібні до htaccess, які IIS може honor via rewrite modules. Якщо 404 вказує на проблему відображення, скорегуйте правило або шлях файлу, потім повторно запустіть тести, щоб підтвердити виправлення перед переходом до production. У випадках, коли 404 вказує на заблокований ресурс, перевірте список блоків або обмеження доступу та переконайтеся, що вони узгоджені з призначеними шаблонами доступу.
Документуйте знахідки в панелі та поділіться підсумком з власником сайту та менеджментом. Якщо потрібно, опублікуйте інсайти на linkedin для видимості крос-команди. Процес повинен бути повторюваним: збережіть входи тестів, захопіть відповіді та прикріпіть пов'язані логи з accesslog, щоб їх могли переглянути власник облікового запису або команда безпеки.
Способи покращити стійкість: створіть маленький тестовий harness, який ітерує через список тестів, записує коди статусу та позначає сплески. Використовуйте ці сигнали для дій щодо відсутніх активів, оновлення інвентарів вмісту та блокування шумних проб тільки за IP, коли виправдано. Завжди тримайте поточний набір тестів узгодженим з інвентарем сайту та відображеннями типів MIME, щоб запобігти регресіям.
Перед будь-якою зміною переконайтеся, що у вас є схвалення власника та план відкату. Постійна панель моніторингу повинна вказувати, чи стабільний рівень 404, зростає чи повертається до базового. Добре керований режим тестів прискорює відповідь на інциденти та допомагає команді доставляти плавніший користувацький досвід.
Ready to leverage AI for your business?
Book a free strategy call — no strings attached.


