Skip to content
EN
← Все статьи

Ошибка 404 Not Found: 7 причин и как исправить

Ошибка 404 Not Found — один из самых частых HTTP-кодов, с которым сталкиваются владельцы сайтов и пользователи. Она означает, что сервер получил запрос, но запрошенный ресурс не найден. Несмотря на кажущуюся простоту, за 404 может стоять множество причин: от банальной опечатки в URL до сложных проблем с конфигурацией веб-сервера.

В этом гайде разберём, что именно означает 404, какие 7 частых причин её вызывают, как диагностировать проблему через DevTools и логи, и какие решения работают в 2026 году для nginx, Apache, Next.js, WordPress и React-приложений.

Что означает код 404 Not Found

Согласно RFC 9110 §15.5.5, код 404 указывает, что сервер не смог найти текущее представление целевого ресурса или не желает раскрывать факт его существования. Это клиентская ошибка (класс 4xx), но она часто связана с серверной конфигурацией.

Важно отличать 404 от родственных кодов: 410 Gone (ресурс удалён навсегда), 301 Moved Permanently (ресурс переехал) и 403 Forbidden (доступ запрещён). Путаница между ними приводит к SEO-проблемам — подробнее в нашем справочнике HTTP кодов.

7 частых причин появления 404 ошибки

  1. Опечатка в URL. Самая частая причина. Пользователь или внешний сайт указали неправильный путь.
  2. Удалённая или перемещённая страница. Контент был удалён, но редирект не настроен.
  3. Сломанный rewrite rule. В nginx или Apache неправильно настроена директива try_files или .htaccess.
  4. Проблемы с правами доступа к файлам. Веб-сервер не может прочитать файл из-за неправильных прав (chmod/chown).
  5. Ошибка в routing (SPA). React/Vue/Angular приложения без fallback на index.html возвращают 404 при прямом переходе.
  6. Battle CDN-кэша. CDN отдаёт устаревший 404 после развёртывания новой страницы.
  7. Неправильная конфигурация DNS или nginx upstream. Запрос уходит на неправильный сервер.

Как диагностировать 404 через DevTools и логи

Первым делом откройте DevTools (F12 → вкладка Network), воспроизведите ошибку и изучите полный запрос: URL, метод, заголовки. Обратите внимание на заголовок Referer — он покажет, откуда пришёл битый линк.

Для быстрой проверки заголовков используйте HTTP Header Checker от Enterno.io — введите URL и получите полный список заголовков ответа, включая коды редиректов в цепочке.

Из командной строки:

curl -I https://example.com/broken-page
curl -v https://example.com/broken-page 2>&1 | head -50

Проверьте логи веб-сервера:

# nginx
tail -f /var/log/nginx/access.log | grep " 404 "
tail -f /var/log/nginx/error.log

# Apache
tail -f /var/log/apache2/access.log | grep " 404 "
tail -f /var/log/apache2/error.log

Решения для разных платформ

nginx: настройка try_files и кастомная страница

server {
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    error_page 404 /404.html;
    location = /404.html {
        internal;
    }
}

Apache (.htaccess)

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
ErrorDocument 404 /404.html

WordPress

Перейдите в Настройки → Постоянные ссылки и нажмите «Сохранить» — это перезапишет правила .htaccess. Если не помогает, проверьте права файла: chmod 644 .htaccess.

React / Vue / Next.js SPA

Для static-хостинга настройте fallback на index.html:

# nginx
location / {
    try_files $uri $uri/ /index.html;
}

301 редиректы для удалённых страниц

Вместо 404 возвращайте 301, если страница переехала — это сохранит SEO-вес:

location = /old-url {
    return 301 https://example.com/new-url;
}

Профилактика 404 ошибок

  • Регулярно сканируйте сайт на битые ссылки — делайте это минимум раз в месяц.
  • Настройте мониторинг сайтов ключевых страниц через Uptime Monitoring от Enterno.io — получайте алерты, если страница внезапно начинает возвращать 404.
  • Используйте 301 редиректы при любых изменениях URL-структуры.
  • Мониторьте Google Search Console — раздел «Покрытие» показывает все 404, которые увидел Googlebot.
  • Создайте информативную 404-страницу с поиском по сайту, популярными ссылками и формой обратной связи.

Часто задаваемые вопросы (FAQ)

В: Влияет ли 404 на SEO?
О: Одиночные 404 — нормально. Но массовые 404 на ранее индексируемых страницах снижают краулинговый бюджет и позиции. Google рекомендует возвращать 410 для намеренно удалённого контента.

В: Что лучше — 404 или 410?
О: 410 Gone — когда ресурс точно удалён навсегда. 404 — когда причина неизвестна или временная. Googlebot быстрее деиндексирует 410.

В: Можно ли отлавливать 404 автоматически?
О: Да, используйте мониторинг Enterno.io с expected_code=200 — любое отклонение триггерит алерт в Email/Telegram/Slack.

В: Почему после деплоя новой страницы я получаю 404?
О: 3 частые причины: (1) CDN-кэш — сделайте purge, (2) OPcache в PHP — перезапустите php-fpm, (3) rewrite rules не перечитались — reload nginx/apache.

Заключение

404 ошибка — не приговор, а сигнал. В 90% случаев она исправляется за 5 минут после правильной диагностики через DevTools, логи и HTTP Header Checker. Ключевые принципы: настройте 301 редиректы при изменениях URL, мониторьте битые ссылки, сделайте полезную 404-страницу и подключите автоматический мониторинг критичных страниц.

Проверьте ваш сайт прямо сейчас

Проверить HTTP-статус сайта →
Другие статьи: HTTP
HTTP
Ошибка 503 Service Unavailable: причины и решения
15.04.2026 · 116 просм.
HTTP
Ошибка 500 Internal Server Error: что значит и как починить
15.04.2026 · 147 просм.
HTTP
Cache-Control заголовки: полный гид по кэшированию
15.04.2026 · 166 просм.
HTTP
429 Too Many Requests: rate limiting и обход
15.04.2026 · 172 просм.