Так движок или статические? :)
Статические страницы — это файлы с голым html-кодом, безо всяких php/perl/python/и пр.
Динамические — это файлы с выполняемым кодом. И дату Last-Modified в этом случае выдаёт движок. Если эта дата не соответствует вашим ожиданиям, то это вопрос по вашему конкретному движку. Вот тут даже есть бесплатная поддержка, которой можно задать интересующие вас вопросы.
"Как движок определил именно эту дату" — вопрос по конкретному движку :)---------- Добавлено 24.03.2013 в 01:00 ----------
Если страницы статические, в виде html-файлов, посмотрите дату последнего изменения интересующих вас файлов.
Дата изменения обновляется при каждом сохранении файла (записи в файл).
Если страницы статические, то даты берутся из файлов, как я уже написал выше.
Если страницы динамические, то, скорее всего, эти даты хранятся в базе данных.
Если страница статическая, то в Last-Modified дата последнего изменения файла.
А вообще, изменение страницы — это любое изменение html-кода (с точки зрения поисковика).
Добавилась точечка, добавился пробел — должен измениться Last-Modified. Если сервер отдаёт неправильную дату (или вовсе не отдаёт никакую дату) для динамических страниц, значит, это изъян движка сайта.
Пишите определялку ботов. Например, если в течение 30 секунд запрошено 6 или более страниц, IP в бан.
Это делов на две минуты.
Не забудьте про белые списки для поисковых ботов.
Это уже посложнее.
Восстанавливать БД из бэкапа.
Ну тогда другой способ, чтобы не насиловать базу данных пятиэтажными запросами с having-ами.
В таблицу match_discv добавляете поля:
date_start
date_finish
srok_rest
Когда в эту таблицу заносится игрок, то в date_start заносится дата дисквалификации, date_finish пустая, srok_left равно srok.
После каждого матча команды из srok_left вычитается 1.
Когда там остаётся 0 (т.е. пропущено нужное количество матчей), в date_finish заносится дата снятия дисквалификации.
Таким образом, для каждой дисквалификации каждого дисквалифицированного игрока появляется дата начала и дата завершения, и поставленная задача (выбрать игроков, имеющих дисквалификацию на произвольную дату) решается.
Гораздо проще будет, если из колонки "srok" после каждого матча вычитать 1.
Это не извращение :) Просто, у автора парсера проблемы с регулярками.
Из какого источника взяты эти статистические данные, если не секрет?
И "предоставляют сервера" подо что? Если в аренду, то можно согласиться, но никак не под VPS/хостинг.