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.