Apache, htaccess и ошибка invalid command ‘\xef\xbb\xbf’. Небольшая заметка.

Если Вы правили файл .htaccess и после сохранения увидели 500 ошибку сервера — 500 internal server error, то проверьте, всё ли правильно записали в этом конфигурационном файле. Если на 100% уверены что всё правильно, загляните в лог-файл Apache для сайта. Обычно он имеет вид типа error_log. Хотя логирование может быть отключено. И если вы там увидите ошибку с содержанием типа:

invalid command ‘\xef\xbb\xbf’

то эта заметка для Вас.

Всё просто, пересохраните файл с изменением кодировки. Дело в том, что возможно вы правили файл в каком то примитивном текстовом редакторе, например используя встроенный notepad в Windows. Ну или в нормальном редакторе, просто при определённых настройках кодировки. И он сохранил файл в кодировке UTF с BOMСохраните файл .htaccess в UTF без BOM и всё будет в порядке. Ну или наверное можно просто сохранить в немультибайтовой кодировке. Например в простую windows 1251.

Дело в том что apache спотыкается об эту последовательность символов BOM и не распознаёт как нормальную директиву. Самое интересное что в редакторе то эти символы, так же как и символ переноса строки, табуляции, не видны и можно потерять много времени проверяя правильно написанные директивы. Особенно когда в error логе Apache пишется что то типа Invalid command ‘\xef\xbb\xbfRewriteEngine’. Люди начинают пенять на то, что модуль какой то не подключён.

На этом пожалуй всё…

Рубрики: Разное
Понравилось? Поделись с другими плз












Комментарии ВКонтакте





Комментарии с сайта

Оставить комментарий

*