VirtualHost/htacess: Wie verweist man eine Subdomäne auf einen URL-Parameter?

VirtualHost/htacess: Wie verweist man eine Subdomäne auf einen URL-Parameter?

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 virtualhostKonfiguration 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

verwandte Informationen