In PHP:
<?php
// Permanent redirection
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.beispielseite.de");
exit();
?>
Bei Perl würd ich eine index.shtml schreiben mit Inhalt:
<!--#exec cgi="/cgi-bin/redirect-program.pl" -->Wie geht das bei PHP?
Schriebst du doch bereits oben, nur, dass die Datei index.php heissen sollte.
Beide Wege, der mit Perl und der mit PHP, sind aber nicht die günstigsten für dein Problem.
a) Sie decken nur die URLs bzw. Dateien ab, in die du den Code einträgst. Ist das nur die index.xy, wird zwar uner.wünscht/ umgeleitet, aber nicht uner.wünscht/blafasel.html.
b) Da du Hosting benutzt, hast du vermutlich keine Möglichkeit, uner.wünscht und er.wünscht in getrennte Verzeichnisse zu legen. Jede Anfrage an er.wünscht/ wird dann zwar nach er.wünscht/ umgeleitet, jede Anfrage an er.wünscht/ aber auch, da selbes Verzeichnis. Ergebnis: Endlosschleife. Es fehlt also in deinen beiden Skripten eine Domainprüfung.
Hast du die Möglichkeit, beide Domains zu trennen, bleibt immer noch Punkt a).
Lösungen:
1. Mit getrennter Einrichtung von uner.wünscht und er.wünscht
Trage in die Konfiguration (beim Hosting ist dafür nur /.htaccess möglich) von binde-str.ich die Zeile
Redirect permanent / http://er.wünscht/
ein. Damit werden sämtliche (!) Anfragen an Pfade unterhalb dieser Domain an den jeweiligen Pfad auf der bindestrichlosen Domain weitergeleitet. uner.wünscht/ landet auf er.wünscht/ und auch uner.wünscht/bla/fasel/ganz/tief.png würde an er.wünscht/bla/fasel/ganz/tief.png weitergeleitet.
Auf die gleiche Weise lässt sich, nebenbei bemerkt, das www. erschlagen. Einfach sämtliche unerwünschte Domains, die zur erwünschten Domain umleiten sollen, auf das "Umleiteverzeichnis" konfigurieren.
Dies ist die resourcenschonendste Variante (auch wenn man über die gegenüber Lösung 2 unten gesparten Millisekunden sicherlich getrennter Meinung sein).
2. Beide Domains, uner.wünscht und er.wünscht zeigen auf dasselbe Verzeichnis
Da alle Anfragen an alle Domains in demselben Verzeichnis landen, muss hier nochmals separat geprüft werden, welche Domain angesprochen wurde. In die /.htaccess gehören folgende Zeilen:
RewriteEngine on
RewriteCond %{HTTP_HOST} uner.wünscht$
RewriteRule (.*) http://er.wünscht/$1 [redirect=301]
Mit RewriteCond wird geprüft, ob der Browser eine Domain angesprochen hat, die auf uner.wünscht endet (endet, das Dollarzeichen am Ende des Musters beachten! - greift daher auch bei www.uner.wünscht). Falls dem so ist, leitet RewriteRule die Anfrage an den jeweiligen Pfad unter er.wünscht weiter.
Weitere Domains können mit weiteren RewriteCond-Zeilen geprüft werden. Die Zeilen müssen jeweils mit [ornext] oder-verknüpft werden:
RewriteEngine on
RewriteCond %{HTTP_HOST} uner.wünscht$ [ornext]
RewriteCond %{HTTP_HOST} www.er.wünscht$
RewriteRule (.*) http://er.wünscht/$1 [redirect=301]