Ich muss eine mehrsprachige Website erstellen. Um dieses Ziel zu erreichen, möchte ich die Subdomain, die eine Sprache darstellt, auf den ersten URL-Parameter (GET-Variable) der Domain in meiner virtualhost
Konfiguration verweisen htaccess
.
Das Schema ist das folgende:
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
usw., unabhängig von der Anzahl der Verzeichnisse und Seiten.
Also, nach diesem Schema:
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
usw., unabhängig von der Anzahl der Verzeichnisse und Seiten.
Wie kann ich das also in meiner Apache-Konfiguration tun?
Antwort1
Ich denke, dass etwas wie das Folgende in Ihrer .htaccess- oder virtuellen Host-Konfigurationsdatei den Zweck erfüllen wird: Dies stimmt nur mit zweistelligen Subdomänennamen überein – passen Sie den ersten regulären Ausdruck entsprechend an … z. B. ([az-]+)
RewriteEngine On
RewriteCond %{HTTP_HOST} "^([a-z]{2})\.example\.com$"
RewriteRule "^(.*)$" http://example.com$1?lang=%1