|
Основная идея Craig Small <csmall@eye-net.com.au>.
Небольшие изменения Alex Barkov <bar@mnogosearch.org>. Зачастую требуется поддержка различных языков, что означает использование
различных файлов search.htm в зависимости от языка, выбранного в настройках броузера пользователя. Пожалуйста, устите, что замечания по конфигурированию, даваемы ниже, абсолютно
одинаковы для обоих поисковых фронт-ендов search.php и search.cgi. Замечание: специфика PHP: единственное отличие для search.php
заключается в модификации config.inc для изменения файла шаблона:
$template_file= ereg_replace(".php", ".htm", basename(getenv("SCRIPT_FILENAME")));
$template_file = "/etc/somewhere" . $template_file;
Дальнейшая установка проводится в три этапа. Установка нескольких шаблонов. Основная идея состоит в том, чтобы иметь один файл search.php
или search.cgi и несколько файлов search.[language].htm. Также, для ипользования по
умолчанию необходимо иметь файл search.htm (обычно в качестве символьной ссылки на
search.en.htm). Если имя скрипта search.en.php (или
search.en.cgi), оба CGI и PHP фронт-енды будут искать /somewhere/etc/search.en.htm,
мы подразумеваем, чтоassuming /somewhere/etc/ - поддиректория /etc/
корневой директории установки DataparkSearch. Вы должны поместить в /somewhere/etc/ все такие шаблоны search.htm,
т.е. /somewhere/etc будет иметь, например: Установка фронт-ендов Создайте поддиректорию и поместите в неё search.cgi или search.php
(отдельно от включаемых файлов, если желаете, указав для PHP include_path и разместив их в другом месте). Затем создайте символьные ссылки: Или для PHP фронт-енда: Конфигурирование Apache Теперь нужно научить apache понимать, что надо здесь делать.
Вам нужно включить процесс определения содержимого (negotiation) и изменить индексы. Я использовал файл
.htaccess, но вы можете задать это и в файле конфигурации apache.
AddLanguage en .en
AddLanguage pl .pl
AddLanguage ru .ru
DirectoryIndex search search.cgi (or search.php)
Options FollowSymlinks MultiViews
Вы набираете url http://myhost/mydir/search
без слэша на конце !!
Ваш броузер говорит "Я предпочитаю английский язык (т.е. определён язык en) "
Apache находит search.en.cgi (DirectoryIndex даёт
search, MultiViews даёт en.cgi) SCRIPT_FILENAME, используемый обоими
search.cgi и search.php равен
somepath/search.en.cgi
Замечание: Большинство других переменных будут иметь неправильные значения,
либо search, либо search.cgi)
Вы измезменяете config.inc как указано выше, для использования
search.en.htm.
Что случится, если пользователь, к примеру, захочет немецкий ?
У нас нет search.de.cgi (search.de.php), т.е. первый элемент в списке
DirectoryIndex не отработает, тогда сервер попробует второй,
search.php Да, он получит страницу на английском, но это лучше, чем 404. Это работает, возможно вам понадобиться еще что-то подкрутить в конфигурации apache, -
я пробовал на сервере, для которого уже всё было настроено и возможно что-то упустил в описании конфигурирования веб-сервера. У вас могут возникнуть некоторые проблемы с определением языка, вызванные: Некотрыми кэшами, неследующими стандартам Некоторыми броузерами, неследующими стандартам Некоторыми пользователями, неуказывающими или неправильно указывающими предпочитаемый язык в
настройках.
Команда разработчиков apache работает над возможностями обхода некоторых из этих трудностей,
если это возможно. Для плотно используемого веб-сервера, вы можете ожидать примерно один е-мейл в неделю с описанием подобной
проблемы. |