вторник, 4 октября 2011 г.

Неверная или неподдерживаемая форма компрессии страницы.

После редактирования нескольких файлов из темы Word Press. Вместо сайта в браузере появилось сообщение: "Ошибка в типе содержимого. Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии."


Файлы были открыты Блокнотом и после внесения незначительных изменений были сохранены и залиты на сервер.
Именно а использовании стандартного приложения windows Блокнота и была заключена возникшая проблема.
Файлы темы имеют расширение php и соответственно содержат куски исполняемого кода. Кодировка файлов UTF-8. Эта кодировка очень рекомендуема для подобного формата файлов, где помимо включений кода присутствуют и простые текстовые описания блоков страницы. А также в кодировке UTF-8 файлы темы, которые были переведены на русский язык.
При сохранении таких файлов в самое начало файла Блокнот прописывает три байта информации - BOM (Byte Order Mark). Эти байты делают неработоспособными все скрипты, выполняемые на стороне сервера.
Выход один - работать с файлами в приложении, которое дает возможность сохранения без BOM (without BOM). Вполне достаточно иметь Notepad++ или Adobe Dreamweaver.
Открыв необходимый файл в Notepad++, достаточно выбрать в меню "Кодировки" -> Кодировать в UTF-8 без BOM.

При сохранении файла в Adobe Dreamweaver необходимо выключить параметр "Include Unicode Signature (BOM)".

Теперь о том как найти ВОМ. Это оказалось достаточно просто и легко сделать. Есть вот такой файл find_bom.zip, его нужно 1) распаковать 2) залить на сервер в корневую директорию (т.е. в общую, где находится wp-config.php). Дальше просто набрать в адресной строке браузера http://ваш.сайт/find_bom.php и он Вам выдаст информацию в виде списка тех файлов с ВОМом. После по вышеописанной схеме редактируем все файлы и пере заливаем на сервер.

1 комментарий:

  1. Большое при большое спасибо, у меня была проблема с header.php все сделал именно так, как ты писал и все получилось!

    ОтветитьУдалить