VirtualHost/htacess: как указать поддомен в параметре URL?

VirtualHost/htacess: как указать поддомен в параметре URL?

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

Связанный контент