| ||||||||||||||||
|
index.html.ru index.html.en /cgi-bin/script.frЕсли у вас есть документы, переведенные на разные языки, это также будет полезно клиентским программам для согласования language. Некоторые программы умеют в запросе посылать заголовки типа:
GET / HTTP/1.0 Accept-language: ru Accept-charset: windows-1251Кроме того, при использовании правильных языковых расширений файлов ваш сервер на русскоязычные документы будет выдавать charset=... и в случае теоретической возможности выдачи данного документа в другом charset, сервер будет добавлять заголовок Expires: current_date_time (или Expires: 00:00:01 Jan 1970, зависит от ключей компиляции), что предупредит proxy сервера о нежелательности оседания данного документа в кэш proxy сервера. Не следует бояться того, что в таком случае придется переписывать перекрестные ссылки во всех документах. Это не так. Если на сервере лежит документ с именем file.html.ru, то на запрос клиента
GET /file.htmlСервер сможет найти соответствующий file.html.ru. Правда для этого необходимо при описании домашней директории сервера в файле conf/access.conf дополнить Options ... MultiViews. Например:
<Directory /usr/local/etc/httpd/home> # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # Note that "MultiViews" must be named *explicitly* - "Options All" # doesn't give it to you (or at least, not yet). Options Indexes FollowSymLinks Includes MultiViews </Directory>Если на Вашем сервере большая часть документов русскоязычная, рекомендуется добавить в conf/srm.conf строку
AddLanguage ru .html .shtml .ruПри этом будет выдаваться charset=... для всех документов *.html и *.shtml, кроме документов, принадлежащих к другим языкам. Если у вас используются и другие расширения файлов (.htm, .cgi) и большинство из них - русскоязычные, то неплохо добавить в AddLanguage и их
Если у Вас имеется возможность использовать различные IP адреса для разных виртуальных серверов, это также рекомендуется делать, т.к. по сравнению с разделением кодировок по портам это потребует меньше ресурсов от компьютера. Оптимальная на наш взгляд конфигурация следующая:
Если нет возможности использовать виртуальные сервера, рекомендуется выстроить дерево русскоязычных документов в отдельной директории, например /koi8-r/, в которой документы хранятся в native charset. После этого можно сделать символические ссылки типа:
ln -s home_of_server/koi8-r home_of_server/windows-1251 ln -s home_of_server/koi8-r home_of_server/ibm866либо воспользоваться механизмом Alias в srm.conf:
Alias /koi8-r /document/root/here Alias /windows-1251 /document/root/hereКакой способ выбрать - дело вкуса. Документы в этих псевдо-директориях будут поступать к клиенту в кодировке, указанной в префиксе. Надо помнить, что в этом случае перекрестные ссылки в таком дереве не должны содержать абсолютного пути, а указывать все время от текущего положения документа. Этот способ теперь также годится и для директорий пользователей, т.е. /~user/win/file.html будет выдаваться в windows-1251.
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE. Copyright (C) 1995-2001 The Apache Group. All rights reserved. Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 |
|
|