Man kann auch mit PHP permanent weiterleiten
Wenn aus technischen Gründen keine Domainweiterleitung in der .htaccess eingerichtet werden kann, wie zum Beispiel bei den Servern der Telekom, oder wenn erst gar keine solche .htaccess Datei erstellt werden kann und der Hoster kein Möglichkeit bietet, eine Weiterleitung einzurichten, dann steht man vor einem Problem. Sind mehrere Domains auf dem gleichen Webspace eingerichtet und ist so die Website unter verschiedenen URL zu erreichen, dann hat man Duplicate Content. Google und Co mögen das nicht. Mit diesem Script kann diese wichtige 301-Weiterleitung auch mit PHP realisiert werden. Hierzu wird einfach der Host ausgelesen und mit einer if-Abfrage per 301-Weiterleitung auf die richtige Domain geleitet. Das Script für diese Weiterleitung steht möglichst ganz oben in der index.php.
Script 301 Weiterleitung:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $host=parse_url($url, PHP_URL_HOST); $pfad=parse_url($url, PHP_URL_PATH); if(empty($pfad)){$pfad="/";} $dest="http://www.zieldomain.de".$pfad; if($host=="www.domain1.de" || $host=="domain1.de" || $host=="www.domain2.de" || $host=="domain2.de") { header("HTTP/1.1 301 Moved Permanently"); header("Location: $dest"); exit; } ?> |
Mit der Abfrage “oder->||
” kannst du hier gleich mehrere Domains umleiten. Durch die Angabe der Domain ohne www bei $host==""
wird auch gleich eine www-Weiterleitung realisiert. Das kann man dann auch so für die Zieldomain einsetzen, um eine 301-Weiterleitung zu haben. Um auch auf die richtige Unterseite weiter zu leiten, wird in Zeile 4 mit $pfad=parse_url($url, PHP_URL_PATH);
der Pfad nach dem Host ermittelt und in Zeile 6 an die Zieldomain angehängt. Es dürfen aber keine Querys in der URL sein. Dazu dient das Script auf der nächsten Seite.
Keine Kommentare
Trackbacks/Pingbacks