WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Выбор языка документов через виртуальный сервер

Выбор языка документов через виртуальный сервер


Дата публикации: 17-03-2013

Если возникла необходимость иметь версии сервера на различных языках, то логичнее всего было бы воспользоваться стандартным средством Apache - content negotiation, директивами типа AddLanguage и т.д. НО! Вы собираетесь объяснять каждому не слишком опытному пользователю, как ему в его браузере выставить язык и изменить приоритет уже существующих установок? По себе знаю - пользователь - он как потребитель, скорее пойдет в соседний магазин, чем будет что-то у себя менять.

Самый разумный выход, как мне представляется - это посадить каждый язык на свой виртуальный сервер. А для того, чтобы на каждом языке ссылки на картинки и другие странички выглядели идентично, можно использовать модуль перезаписи URL - mod_rewrite. Поясню на примере.

Пусть имеется файл index.html (на русском языке), и в нем имеются ссылка на main.html, а также картинка main.jpg, содержащая надпись на русском языке. Как сделать так, чтобы англоязычный вариант содержал такие же ссылки? Очень просто.

Надо добавить пару новых mime-types в httpd.conf: AddType text/html .en-html
AddType image/jpeg .en-jpg
Надо включить модуль mod_rewrite в Configuration для компиляции: Module rewrite_module mod_rewrite.o
Перекомпилировать httpd тоже не помешает.
Естественно, новый модуль надо сконфикурировать - опять же через httpd.conf: ‹VirtualServer url.виртуального.сервера:с_конкретным_языком›
RewriteEngine On #Дает добро на работу
RewriteRule (.*)/html$ /absolute/path/to/server/$1.en-thml
RewriteRule (.*)/jpg$ /absolute/path/to/server/$1.en-jpg
#Замена в контексте виртуального сервера имен с *.html и
# *.jpg на *.en-html и *.en-jpg соответственно.
‹/VirtualServer›
Теперь можно создать англоязычный вариант файлов index.html, main.html и main.jpg, назвав из соответственно index.en-html, main.en-html и main.en-jpg.

Вот, наверное, и все. Да, еще можно сделать что-то типа kill -HUP your_httpd_pid для того, чтобы все изменения возымели действие.
Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Edward V Berard:

"Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены."

Опрос

Какой браузер Вы используете?

Internet Explorer
Google Chrome
Mozilla Firefox
Netscape Navigator
Maxthon Browser
Opera
Mozilla Suite
SeaMonkey
K-Meleon
Safari
Amaya
Avant Browser
SlimBrowser
Другой...