#SingleListen On

###############################

# Виртуальные серверы #

###############################

#

# Поддержка модуля perl

# Замечание: не удаляйте расположенные далее строки,

# иначе это может разрушить вашу конфигурацию.

 ProxyPass /perl/ http://127.0.0.1:8200/

 ProxyPassReverse /perl/ http://127.0.0.1:8200/

# Файл, в котором находятся директивы конфигурирования

# виртуальных узлов.

Include conf/vhosts/Vhosts.conf

#

# Для поддержки динамических виртуальных узлов и

# виртуальных домашних каталогов, раскомментируйте

# следующие строки:

#LoadModule vhost_аlias_modulеmodulеs/mod_vhost_alias.so

#AddModule mod_vhost_alias.c

#Include conf/vhosts/DynamicVhosts.conf

#Include conf/vhosts/VirtualHomePages.conf

# Директивы конфигурирования PHP

Include conf/addon-modules/php.conf

<p>16.12. Перекодирование русскоязычных документов «на лету»</p>

С тех пор, когда в русском языке появилось слово «кодировка», появилась и проблема перекодировки. Стандартной кодировкой русского языка для большинства UNIX-серверов является КОИ8-R. Для применения в DOS компания Microsoft разработала альтернативную кодировку (ALT), известную также под названием CP-866.

Потом та же Microsoft создала кодировку Windows-1251 (ANSI), чем обеспечила проблемы с перекодировкой уже на локальном уровне: файлы, созданные в DOS, без предварительного перекодирования нельзя было прочитать в Windows, и наоборот. Заметьте, об Интернете и Apache я еще не сказал ни слова.

Кроме Microsoft, «облегчили» нам жизнь также компании Apple и Sun, разработав соответственно кодировки Apple и ISO8859-5. Компания IBM не отстала от них, разработав собственную кодировку русского языка.

В Интернете все эти кодировки смешались. Возникает задача: настроить автоматическое перекодирование документов из одной кодировки в другую. Для начала необходимо настроить хотя бы перекодирование «на лету» из KOI8 в Windows-1251, так как большинство клиентов в Сети используют именно эту кодировку (от Windows, как от смерти, не уйдешь).

<p>16.12.1. Russian Apache: установка, настройка, использование</p>

Обыкновенный англоязычный Apache, входящий в состав большинства дистрибутивов, не поможет вам решить эту проблему. Для корректных операций по перекодированию нужно загрузить и установить сервер Russian Apache или модуль Apache-RUS. Скачать как модуль, так и готовый сервер можно по адресу: ftp://apache.lexa.ru/pub/apache-rus. При этом старшая часть версии соответствует оригинальному серверу Apache, младшая — версии модуля Apache-Rus.

Рассматривать процесс установки и настройки я буду на примере не очень новой версии сервера — 1.3.3/PL27.3, это не принципиально. Последовательность действий для сборки сервера из исходных кодов стандартная:

# tar xvzf apache_l.3.3rusPL27.3.tar.gz

# cd apache_1.3.3rusPL27.3

# ./configure

# make

# make install

Настройка Russian Apache не отличается от настройки оригинального Apache за исключением настройки модуля перекодирования.

<p>16.12.2. Настройка перекодировки русскоязычных документов</p>

Директивы перекодирования (они находятся в файле httpd.conf) можно разделить на три группы.

Первые указывают, в какой кодировке хранятся файлы на диске. Их можно включать в блок Location или в файлы .htaccess:

# все файлы, кроме .txt, хранятся в кодировке koi8-r

CharsetSourceEnc koi8-r

# все файлы .txt хранятся в кодировке windows-1251

CharsetByExtension windows-1251 .txt

Вторые определяют названия (CharsetDecl) и псевдонимы (CharsetAlias) кодировок и таблиц символов (CharsetRecodeTable и CharsetWideRecodeTable). Они находятся в блоке  … и не требуют изменений. Название языка (ru) должно быть определено в директивах AddLanguage и LanguagePriority.

CharsetDecl windows-1251 ru

Перейти на страницу:

Все книги серии Полное руководство

Похожие книги