Skip to content

Всё для WordPress, веб-разработки — и не только

Аудит .htaccess: 500, мёртвые директивы, признаки взлома

Аудит .htaccess: почему сайт отдаёт 500 и какие правила не работают

Перетащите файл — инструмент найдёт BOM, мёртвые директивы, правила с высоким риском ошибки 500 и признаки стороннего вмешательства. Файл читается в вашем браузере и никуда не отправляется.

Байтовые проверки — BOM, CRLF, непечатаемые и невидимые символы — возможны только для файла. При вставке из буфера браузер их уже убирает, поэтому самая частая причина 500 становится невидимой.
Анализ запускается автоматически. Файл никуда не отправляется — его читает ваш браузер.
Контекст

Чистый .htaccess не лечит взлом. Если сайт скомпрометирован, вредоносный код живёт в PHP, а .htaccess — лишь его следствие: дроппер перепишет файл обратно через минуты после того, как вы его почистите. Порядок действий обратный — сперва найти исполняемый код, потом наводить порядок в конфиге.

Файл читается в вашем браузере — его содержимое никуда не отправляется и нигде не сохраняется.

Почему именно файл, а не вставленный текст

Самая частая причина ошибки 500 после редактирования .htaccess вообще не видна в тексте. Это BOM — три невидимых байта в начале файла, которые добавляет Блокнот Windows при сохранении в UTF-8. Apache считает их частью первой директивы и не может её разобрать. Поэтому инструмент принимает именно файл: только так можно прочитать байты и увидеть BOM, переносы в стиле Windows и невидимые символы внутри строк. Вторая группа проблем — директивы, которые ничего не делают, но выглядят рабочими. mod_gzip_on — это синтаксис Apache 1.3, на современных серверах он молча игнорируется, а люди годами считают, что сжатие включено. Блок ExpiresByType, завёрнутый в проверку mod_headers.c вместо mod_expires.c, тоже не сработает — и без подсказки этого не заметить. Третье — php_value и php_flag. Они работают только когда PHP подключён как модуль Apache. На современных хостингах с PHP-FPM такая строка либо игнорируется, либо сразу даёт 500. И отдельно о безопасности: если в файле найдены правила, которые редиректят посетителей в зависимости от того, с какого поисковика они пришли, или скрывают редирект от администратора — это типичный признак компрометации. Но чистый .htaccess не лечит взлом: почти всегда где-то в файлах живёт PHP-скрипт, который перепишет его обратно.

Частые вопросы