Мне нужно создать многоязычный веб-сайт. Чтобы достичь этой цели, я хочу указать поддомен, представляющий язык, на первый параметр 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?
решение1
Я думаю, что что-то вроде этого в вашем .htaccess или файле конфигурации виртуального хоста сработает; Это соответствует только двухбуквенным именам поддоменов — соответствующим образом измените первое регулярное выражение... например ([az-]+)
RewriteEngine On
RewriteCond %{HTTP_HOST} "^([a-z]{2})\.example\.com$"
RewriteRule "^(.*)$" http://example.com$1?lang=%1