Nachfolgend ein Funktionsdummy, der veranschaulichen soll, wie sich ein und derselbe Programmcode für eine mehrsprachige Seite nutzen lässt, die pro Sprache eine eigenen Domain-Namen verwendet.
Die Lösung besteht aus zwei Dateien; der .htaccess Datei die die URL’s entgegen nimmt und das PHP Script index.php, welches die weitere Verarbeitung und die Ausgabe übernimmt.Inhalt der .htaccess Datei:
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
# Aufruf deutsche Version
RewriteCond %{HTTP_HOST} ^deutsch\.dev [NC]
RewriteRule ^(.*)$ http://www.deutsch.dev/$1 [R=301,L]
# Aufruf englische Version
RewriteCond %{HTTP_HOST} ^english\.dev [NC]
RewriteCond %{HTTP_HOST} !^www\.deutsch\.dev [NC]
RewriteRule ^(.*)$ http://www.english.dev/$1 [R=301,L]
#Arbeite das Script ab
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
Inhalt der index.php Datei:
<?php
$DE_Domain = "www.deutsch.dev";
$EN_Domain = "www.english.dev";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Multilingual Test</title></head>
<body>
<?php if($DE_Domain == $_SERVER['SERVER_NAME']){
echo("Deutscher geht's nicht<br>");
}elseif($EN_Domain == $_SERVER['SERVER_NAME']){
echo("More then english<br>");
}?>
</body>
</html>
So wird beim Aufruf der Domain: http://www.deutsch.dev „Deutscher geht’s nicht“ ausgegeben und ggf. ein fehlendes www. an den Domain-Namen angehängt, äquivalent erfolgt der englische Aufruf.
Als Chefkoch arbeite ich als Systemadministrator und Programmierer. Hier blogge ich über Joomla, Magento, WordPress und Windows. In meiner Freizeit fotografiere ich viel, fahre mit meiner Yamaha XT660R oder Jogge durch die Gegend.