Правильная обработка запроса 404 File not found - PullRequest
2 голосов
/ 22 марта 2012

У меня есть пользовательская страница 404, которая имеет 2 основные цели:

  1. Журнал ошибок 404, так что я могу исправить неработающие ссылки и найти злых людей, ищущих эксплойты
  2. Перенаправить в нужное местос 301 перемещено навсегда для страниц, которые фактически переместились

Все остальное просто перенаправлено на главную страницу.У меня проблема с ботами.Google - худший, они продолжают пытаться каждые несколько дней сканировать страницы, которые не существуют.Я даже пытался добавить страницы как запретные в мой robots.txt, но они почему-то игнорируют это.И страницы по-прежнему появляются в результатах поиска!

Я бы хотел исправить это правильно, поэтому я ищу предложения.Обратите внимание, что это платный веб-хостинг, поэтому изменение настроек веб-сервера, вероятно, не вариант.Веб-сервер работает под управлением Windows с IIS 7.

У меня возникли некоторые проблемы:

Если я обнаружу робота Google (и нескольких других основных ботов) и вручную отправлю код состояния 404, веб-сервер перехватит ловушкуэто и пытается повторно выполнить пользовательскую страницу 404, и я попадаю в бесконечный цикл.

Если у меня страница распечатывает сообщение, она отвечает кодом состояния 200.

1 Ответ

3 голосов
/ 22 марта 2012

Вы должны взглянуть на https://www.google.com/webmasters/

Файлы, которые пытаются проиндексировать боты, должны были когда-то существовать или иметь ссылки, по ссылке выше Google сообщит вам, какие страницы он запрашивал и сколько их было 404.

Ваш файл robots.txt должен быть неверным, чтобы Google игнорировал его, поскольку он определенно следует правилам, в противном случае у него будет много проблем.

Вы можете убедиться, что Google на самом деле использует последний файл robots.txt, а также по ссылке, он сообщит вам, есть ли какие-либо проблемы с ним.

Чтобы перенаправить с тегом 301, вы можете просто сделать это:

Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://website.com" );

Сначала вам нужно будет вставить всю необходимую информацию в вашу базу данных.

...