Я должен создать многоязычный веб-сайт. Для достижения этой цели я хочу указать субдомен, представляющий язык, на 1-й параметр URL (переменная GET) домена в моем virtualhost
или htaccess
конфигурация.
Схема следующая:
example.com => /
([a-z-]+).example.com => /?lang=$1
([a-z-]+).example.com/directory1/ => /directory1/?lang=$1
([a-z-]+).example.com/directory1/page.html => /directory1/page.html?lang=$1
и т.д ... независимо от количества каталогов и страниц.
Итак, по этой схеме:
en-en.example.com matches /?lang=en-en
en-en.example.com/directory1/ matches /directory1/?lang=en-en
en-en.example.com/directory1/page.html matches /directory1/page.html?lang=en-en
и т.д ... независимо от количества каталогов и страниц.
Итак, как я могу сделать это в моей конфигурации apache?
Я думаю, что что-то подобное в вашем файле конфигурации .htaccess или виртуального хоста поможет; Это соответствует только двухбуквенным именам поддоменов - соответственно настройте первое регулярное выражение ... например. ([а-я -] +)
RewriteEngine On
RewriteCond %{HTTP_HOST} "^([a-z]{2})\.example\.com$"
RewriteRule "^(.*)$" http://example.com$1?lang=%1