Делаем Двигаем · статьи
Ошибки 403 Forbidden и 404 Not Found: как исправить
Ошибка 403 означает «сервер запрещает», 404 означает «сервер не нашёл». И то, и другое часто появляется на рабочих страницах после переезда, обновления или смены настроек.
403 Forbidden: доступ запрещён
Сервер понял запрос, нашёл файл, но отказался его отдавать. Типичные причины:
- Права на файлы и папки. После переноса по FTP файлы могут получить права 600 или 700, и веб-сервер не может их прочитать. Норма для папок 755, для файлов 644. Владелец должен совпадать с пользователем, под которым работает сайт.
- Нет индексного файла. В папке нет
index.phpилиindex.html, а листинг папок запрещён. Обычно это значит, что сайт залили не в ту папку (например, вpublic_html/site/вместоpublic_html/). - Запрет в .htaccess или конфиге nginx. Правила
Deny from all, ограничение по IP, защита от ботов, которая сработала на вас. После смены IP у офиса такое всплывает регулярно. - Блокировка хостингом. Аккаунт заблокирован за неоплату или за подозрение во вредоносной активности. В этом случае 403 отдаётся на весь сайт, а в панели висит уведомление.
- Файрвол или защита от DDoS. Cloudflare, защита хостинга или плагин безопасности решили, что вы бот. Проверьте с другого устройства и через мобильный интернет.
404 Not Found: страница не найдена
Если 404 на действительно удалённой странице, всё в порядке, это норма. Проблема, когда 404 отдают существующие страницы:
- Сломались ЧПУ (человекопонятные ссылки). Главная открывается, а все внутренние страницы дают 404. В WordPress помогает зайти в «Настройки → Постоянные ссылки» и просто нажать «Сохранить»: пересоздастся
.htaccess. В nginx нужна строкаtry_files $uri $uri/ /index.php?$args;. - Не включён mod_rewrite на Apache или его отключили при переезде.
- Регистр в адресе. На Windows-хостинге
/Catalogи/catalogодно и то же, на Linux разные адреса. После переезда старые ссылки с заглавными буквами перестают работать. - Файлы не перенесли. Картинки и документы лежали в папке, которую забыли скопировать.
- Сменилась структура адресов после редизайна, а редиректы со старых адресов не сделали. Страницы в поиске ведут в 404, позиции падают.
Как проверить, где именно ломается
# Что отвечает сервер, без браузерного кеша
curl -I https://site.ru/catalog/
# Права на файлы в корне сайта
ls -la /var/www/site.ru/
Заголовок Server: в ответе подскажет, кто отдаёт ошибку: nginx, Apache, Cloudflare или сама CMS. От этого зависит, где искать настройку.
Массовые 404 после редизайна опасны для SEO: Яндекс за несколько недель выкинет страницы из индекса. Список старых адресов можно выгрузить из Вебмастера, а редиректы 301 на новые адреса сделать за пару часов.
Починим сегодня, от 2 900 ₽
Опишите проблему, ИИ назовёт цену за минуту. Оплата после оценки, работа в тот же день, 14 дней гарантии.
Разработчик с 10-летним опытом, ИП, по оферте и с закрывающими документами.
Бесплатный мониторинг сайта. Проверяем каждые 5 минут. Упал: пишем в Telegram или MAX в течение 10 минут. Без регистрации и рассылок. Подключить бесплатно