Ну написано же 301, значит, 301 :)
Это может быть как редирект с "www" на "без www" или с "http" на "https", так и действия вражеского кода.
Для этого достаточно обычных логов.
Если в логе веб-сервера нет ошибок при запросах css-файлов, значит, проблема в браузере / интернет-провайдере.
Там всё тоже самое, только вместо
str_replace(stripslashes(htmlspecialchars(strip_tags(и_другие_велосипеды(…)))))
делаете
mysql_real_escape_string(…)
всё.
… и веб-сервер автоматически перекодирует %27 и передаст в скрипт '
Это делается штатными escape-функциями mysql, о которых я написал выше.
Отвечаю на вопрос из лички.
Функция экранирования:
http://php.net/manual/ru/function.mysql-real-escape-string.php
(или аналоги MySQLi и PDO)
Если у вас предполагается числовая переменная, вместо экранирования можно просто принудительно преобразовать её в числовой тип:
$var+=0;
Используйте функции экранирования при передаче переменных в запрос.
Иначе у вас однажды в базе может оказаться что-то совсем "нехорошее".
Чтобы ошибки mysql попадали в файл, их нужно перехватить и передать в обработчик ошибок, который пишет их в файл.
Всё зависит от вашей конкретной реализации.
Выведите ошибку mysql-я, там в ней будет написано, в каком именно месте.
Или выполните тот же запрос в phpMyAdmin.
Или просто выведите этот же запрос, в большинстве случаев этого бывает достаточно, чтобы увидеть косяк.
Синтаксическая ошибка в запросе
Проверьте, корректные ли права/владелец на файле "/engine/cache/system/cron.php" и на попутных директориях
Если взламывается, значит, там не просто инклуды :)
Методические указания:
После взлома найти файл(ы) с самой свежей датой изменения
Убедиться, что в них присутствует вредоносный код
Найти в логах веб-сервера запросы, с датой максимально близкой к дате изменения файла(ов)
Если есть подозрительные запросы, изучить их и понять, в каком скрипте эксплуатируется уязвимость.
Если нет запросов, найти в логах FTP, SSH и пр. авторизации, совпадающие вышеупомянутой датой.
Если есть авторизации с чужих (не с ваших) IP-адресов, значит, у вас украли пароль.
Если есть авторизации в это же время, но только с вашего IP, значит, у вас на компьютере троян.
Если вообще нет авторизаций в это время, значит, уязвимость в самом хостинге (довольно редкое явление).