Назад | Перейти на главную страницу

VirtualHost / htacess: как указать субдомен на параметр url?

Я должен создать многоязычный веб-сайт. Для достижения этой цели я хочу указать субдомен, представляющий язык, на 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