|
|
Ich | Entwicklung | Lösungen | Apache | PHP | mySQL | ||||||
Artikel
Skripte
|
Weiterleitungen mit PHPDieser Artikel bietet eine Alternative zum Redirect per Apache Eine weniger komplexe und trotzdem sehr mächtige Möglichkeit der Weiterleitung bietet PHP. Mit Hilfe der Funktion
<?php
header("Location: http://www.example.com/foo.bar");
exit();
?>
Die Funktion
<?php
header("Location: http://www.example.com/foo.bar");
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n";
echo "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\">\n";
echo "<head>\n";
echo "<title>Weiterleitung</title>\n";
echo "</head>\n";
echo "<body>\n";
echo "<p>Dies ist eine Weiterleitung zu ";
echo "<a href=\"http://www.example.com/foo.bar\">www.example.com/foo.bar</a>.</p>\n";
echo "</body>\n";
echo "</html>\n";
exit();
?>
Wenn benutzerdefinierte Header gesendet werden sollen, muss allerdings sicher gestellt sein, dass keine Ausgabe vor dem Senden der Header erfolgt. Die sicherste Methode ist, das PHP-Skript so zu schreiben, dass die Standardmäßig wird auch hier der Statuscode 302 versendet. Wollen Sie eine permanente Weiterleitung, so fügen Sie in obiges Skript noch die folgende Zeile ein: header("Status: 301"); Auch ist zu beachten, dass HTTP/1.1 einen absoluten URI erwartet, auch wenn viele Clients mit relativen URIs umgehen können. Der folgende Header ist also unzulässig: header("Location: foo.bar"); Falls Sie innerhalb des PHP-Skriptes nicht wissen, auf welcher Domain das Skript läuft, können Sie die Server-Variable header("Location: http://".$_SERVER["HTTP_HOST"]."/foo.bar"); Das Syntax-Highlighting der Codebeispiele wurde mit QFormat erreicht. |
|||||||||||
|
URL: www.intermitto.net/loesungen/artikel/redirect/ |
Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum |
|||||||||||