Hannes: Untersch. URLs auf zwei index-Seiten

Beitrag lesen

Ich habe bei meinem Provider in einem Webhosting-Paket mehrere Domains - 2 davon sollen auf die index.php gehen und 2 andere URLs sollen auf die index-en.php (engl. Sprachversion, liegt im Hauptverzeichnis) gehen.

Der Browser teilt in der HTTP-Kopfzeile Host: dem Server mit, welche Domain er anspricht.

Variante 1:
Beide index-Dateien zusammenfassen und durch folgenden if-Block umklammern:

if (strpos($_SERVER["HTTP_HOST"], "clausinisland") >= 0) {
   // Inhalt der deutschen index.php
}
else {
   // Inhalt der englischen index.php
}

Das lässt sich natürlich auch etwa schöner machen, indem du nur die Texte separierst, in Variablen legst und den ganzen sprachunabhängigen Rest im Anschluss an den if-Block notierst, wobei du Ausgabe der Texte durch die Ausgabe der jeweiligen Variablen ersetzt.

if (strpos($_SERVER["HTTP_HOST"], "clausinisland") >= 0) {
   $hallo = "Hallo";
}
else {
   $hallo = "Hello";
}
echo '<html><head><title>' . $hallo usw.

Oder so:

if (strpos($_SERVER["HTTP_HOST"], "clausinisland") >= 0) {
   $sprache = "de";
}
else {
   $sprache = "en";
}
$texte["de"]["hallo"] = "Hallo";
$texte["en"]["hallo"] = "Hello";

echo '<html><head><title>' . $texte[$sprache]["hallo"] usw.

Variante 2:
Du behältst index.php und index-en.php und schreibst in /.htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} clausiniceland
RewriteRule ^index.php$ index-en.php

Auch hier wieder die Abfrage der Host:-Zeile. Die index.php wird automatisch aufgerufen, es muss lediglich für den Fall, dass eine iceland-Domain gewünscht wird, index.php auf index-en.php umgebogen werden.