Что такое ошибка 404 Not Found (nginx)
Эта ошибка означает, что страница которую пытается просмотреть пользователь не найдена или не существует. При этом сам пользователь никак не сможет повлиять на решение вопроса. Единственное, что он может сделать - найти похожую информацию на этом же сайте. Например адрес с ошибкой www.example.com/not-founded-page.html заменить на www.example.comПочему это происходит?
Это происходит из-за того, что пользователь перешел на страницу сайта по неправильной ссылке. Например пользователь ввел в браузере (или перешел по ссылке) http://mysite.com/rbot.html, а нужно было - http://mysite.com/robot.html. Причем, эта ссылка могла находится как на вашем сайте, так и на сторонних сайтах. Обнаружить такие ссылки можно с помощью Google Webmaster Tools. Для этого переходим на страничку данного сервиса, выбираем свой сайт, а дальше жмем: Состояние -> Ошибки сканирования и выбираем "Не найдено".
Также хорошо с этой задачей справляется бесплатная программа XenuLinks, скачать которую можно здесь, а посмотреть мануал - здесь.
Как исправить ошибку 404?
В традиционном понимании исправить эту ошибку невозможно, т.к. проблема кроется не в работе сервера или движка сайта, в том, что кто-то неправильно указал адрес ссылки. Поэтому единственным способом исправления можно назвать выявление ошибочных ссылок, и указание правильного адреса. Также стоит проверить существует ли текущая страница на вашем сайте? Если она была удалена, то позаботьтесь о том, чтобы она появилась снова. Если же она была переименована, то нужно настроить 301-редирект со старого адреса страницы на новый.Совет
Когда пользователь заходит на сайт и видит данную ошибку через выдачу сервера, то он не видит ваш сайт (меню, навигацию, дизайн и т.д.). Соответственно со 100% вероятностью закроет страницу. Такая схема работает на всех хостингах по умолчанию. Но вы можете запрограммировать данную страницу и показать вместе с ней свой сайт. А это значит, что пользователь видя в меню основные ссылки вашего сайта может нажать на них, и остаться на сайте. Вот примеры неправильной и правильной выдачи соответственно:

Есть много разных способов реализовать подобную схему, но самый универсальный из них - это добавить в файл .htaccess такую запись:
Соответственно саму страницу "/error404.html" вам нужно будет предварительно создать.ErrorDocument 404 /error404.html
Источник статьи: https://ru.hostings.info/schools/404-not-found.html