Zeg пишет:Также заметил, что некоторые "умные" боты где-то раскапывают ссылки вида /forum/index.php?c=N, где N - несуществующий, чаще заведомо больший номер форума, а то и вообще что-то невообразимое, типа /forum/index.php?c=f11. Было бы неплохо отлавливать такие кривые номера форумов и по ним также выдавать искалкам 404.
Этот вопрос с номерами категорий можно решить таким образом. Открываем файл
index.php, находим строку:
CODE:$subforums = array();
и под ней добавляем строку:
Далее в этом же файле ищем строку:
CODE: $fm->_GetModerators($id, $allforums);
и под ней вставляем строки:
CODE: if ($forum['catid'] != $lastcat)
$cats[] = $forum['catid'];
Затем находим строку:
CODE:// СКРЫТЫЙ РЕЖИМ ПРЕБЫВАНИЯ НА ФОРУМЕ //
и над ней вставляем строки:
CODE:if (!in_array($fm->input['c'], $cats)) {
define('IS_404', 1);
$fm->_Message('404', 'No category');
}
На этом почти всё, осталось только проделать некоторые изменения в файле
include/fm.class.php, о которых я говорил ранее
здесь. Теперь при запросе несуществующей категории сервером будет отдаваться заголовок 404. К слову, приведённой по ссылке выше инструкцией можно воспользоваться, чтобы сделать по аналогии возврат заголовка 404 также для неправильных номеров разделов, тем и т.п.