4.10.5 Weiterleitung
Zweck:
-
Automatische Weiterleitung von einer gelöschten Webseite auf eine
andere Webseite an einem andern Ort.
-
Wenn eine Webseite vom Webmaster vom ursprünglichen Ort (URL)
an einen anderen Ort (mit einem andern URL) verschoben wurde,
soll der Anwender, der die Webseite am alten Ort aufruft automatisch
an den neuen Ort umgeleitet werden.
-
Diese automatische Umleitung soll vom Webmaster immer eingerichtet
werden, wenn eine Webseite gelöscht wird.
-
Wenn eine Webseite nicht mehr aufgerufen werden kann, ist
für den Anwender nichts ärgerlicher, als wenn er nicht
automatisch auf die richtige Seite weitergeleitet wird.
Prinzip:
-
In der Datei am alten Ort ist der Text durch einen PHP-Befehl zu
ersetzen, der den Aufruf des Anwenders automatisch an diejenige Seite
weiterleitet, die die alte Seite ersetzt oder mit dieser Seite in
Bezug steht.
Angaben im Original-Quelltext der alten Datei
-
In der Datei, die umgeleitet werden soll ist der gesamte Inhalt
(einschliesslich Strukturelemente und Kopfdaten etc.)
durch den PHP-Befehl zu ersetzten.
-
Im PHP-Befehl ist nach Location: der Pfad der neuen Datei einzusetzen,
die am nächsten zur ersetzten alten Datei passt und auf die der
Link umgeleitet werden soll.
-
Im folgenden Befehl ist diese Anleitung als Kommentar enthalten.
<?php
/*
Dieser PHP-Befehl ersetzt den ganzen Inhalt
der alten Datei:
In der Datei, die umgeleitet werden soll ist der
gesamte Inhalt (einschliesslich Strukturelemente
und Kopfdaten etc.) durch diesen PHP-Befehl zu
ersetzten.
Beim untenstehenden Pfad, ist der Pfad der neuen
Datei einzusetzen, die am nächsten zur
ersetzten alten Datei passt und auf die der
Link umgeleitet werden soll.
(Nach "Location:" Pfad und Dateiname der neuen Datei einsetzen)
*/
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://vademecum.brandenberger.eu/php/befehle/");
?>
Bemerkungen:
-
Die alte Datei bleibt im Quelltext am gleichen (alten) Ort.
-
Im Menü wird aber nicht mehr auf die alte Datei sonden nur
noch auf die neue Datei (am neuen Ort) verwiesen.
-
Der Menüeintrag, der auf die neue Datei verweist kann im Menü
an einem andern Ort stehen. In diesem Fall kann der alte Menüeintrag
gelöscht werden.
-
Auf die alte Datei mit der Umleitung kann also nicht mehr mit dem
Menü sondern nur noch mit einem Direktlink, zum Beispiel aus
einem Browser-Lesezeichen oder aus einem Link in einem
Dokument zugegriffen werden in dem noch nicht auf die neue Datei
verwiesen wird.
-
5.10.2 Umschalten auf ein anderes Stylesheet
Prinzip:
-
Es kann auf eine Spezialausgabe mit einem anderen Stylesheet umgeschaltet werden.
-
Der Inhalt der Spezialausgabe ist der gleiche wie in der Normalausgabe,
nur das Stylesheet ist anders.
-
Die Umschaltung erfolgt mit einer Weiche, die in eine separate Datei
ausgelagert wurde.
1) Separate Datei
-
Die Weiche wurde in eine separate Datei ausgelagert.
-
Der Name der Datei lautet: "weich.inc.php"
-
Die Bedingung lautet: Ist agent gleich abr ?
-
Wenn Ja: wird das Stylesheet abr verwendet
-
Sonst: Stylesheet anleitung
<?
$agent = $_GET['agent'];
/*liest die Variable der GET-Methode aus
und speicherts in der Variable agent */
if ( $agent == "abr" ) {
echo "<link rel='stylesheet' type='text/css'
href='css-abr.css'>";
} else {
echo "<link rel='stylesheet'
type='text/css' href='css-anleitung.css'>";
}
?>
2) Die Datei wird mit folgender Namenserweiterung aufgerufen:
/agent=abr
Beispiel:
http://www.web-anleitung.cbyounes.ch/?agent=abr
3) Nach der Verarbeitung des PHP-Codes durch den Server wird folgender
Eintrag im Kopfbereich des Quelltextes des HTML-Dokumentes ausgegeben:
-
Damit ist der Zweck dieser Übung erfüllt:
Die "richtige" Stylsheetangabe steht im Kopf des HTML-Dokumentes
<link rel="stylesheet" type="text/css" href="css-abr.css">
-
5.10.3 Fusszeile der Webseiten mit "Update-Datum"
⇒ Siehe auch "PHP-Befehle"
Prinzip:
-
Anstatt in jeder Datei alle Angaben der Fusszeile zu geben, werden diese
nur in einer separaten Datei gegeben und in die einzelnen Dateien der Website
verlinkt.
1) Angaben im Stylesheet:
-
Die Formatierung der Fusszeile erfolgt mit dem Stylesheet.
#fussbehaelter {
position:fixed; bottom:-1px; left:0; right:0;
z-index:6;
height:18px;
background:#99CCFF;
color:#0000FF;
}
#fuss1 {
position:fixed; left:0; bottom:0;
display:inline;
padding:2px 0 2px 0.2em;
background:transparent;
color:#0000FF;
font-size:0.75em;
font-weight:bold;
}
#fuss2 {
position:fixed; right:0; bottom:0;
display:inline;
margin-left:20em;
padding:2px 0.5em 2px 0;
background:transparent;
color:#0000FF;
text-align:right;
font-size:0.75em;
font-weight:normal;
}
2) Include-Datei
-
Die Angaben für die Fusszeilen stehen in einer separaten Datei.
-
Der Name der separaten Datei lautet:
inc-fuss.php
Wichtig:
-
Beachten Sie die Formel, mit der bei jeder Revision automatisch das
aktuelle Datum als "Update-Datum" eingefügt wird.
Die Formel lautet:
-
$datum = filemtime(basename($_SERVER["PHP_SELF"]));
echo date("Y-m-d", $datum);
<div id="fussbehaelter">
<div id="fuss1"><a href="mailto:alfred@brandenberger.eu">
alfred@brandenberger.eu</a></div>
<div id="fuss2">
<?php
echo "Update: ";
$datum = filemtime(basename($_SERVER["PHP_SELF"]));
echo date("Y-m-d", $datum);
?>
</div>
</div>
3) Im Original-Quelltext des Webmasters steht:
<!-- Beginn Fuss -->
<?php
include "inc-fuss.php";
?>
<!-- Ende Fuss -->
3) Der Server sendet dann folgenden Quelltext an die Browser:
<!-- Beginn Fuss -->
<div id="fussbehaelter">
<div id="fuss1"><a href="mailto:alfred@brandenberger.eu">
alfred@brandenberger.eu</a></div>
<div id="fuss2">
<?php
echo "Update: ";
$datum = filemtime(basename($_SERVER["PHP_SELF"]));
echo date("Y-m-d", $datum);
?>
</div>
</div>
<!-- Ende Fuss -->
4) In der Fusszeile wird dann folgendes angezeigt:
Update: 2009-07-16
Workshops
-
5.10.4 Aufruf zum Abfragen des benutzten Browsers
Prinzip und Zweck
-
Auf der Website des Benutzers wird angezeigt, welcher Browser er verwendet.
-
Diese Angabe kann eventuell mit einem PHP-Befehl dazu verwendet werden,
damit ein bestimmtes Stylesheet verwendet wird.
(Die ist eventuell aber nicht möglich, da der PHP-Befehl verarbeitet wird,
bevor das Dokument gesendet wird.
a) Aufruf des verwendeten Browsers
1) Der Aufruf erfolgt mit folgendem Code:
<?php
$browser = $_SERVER['HTTP_USER_AGENT'];
?>
2) Im Quelltext steht daher (mit der Formatierung für den Rahmen):
<div class="box-schwarz">
<?php
$browser = $_SERVER['HTTP_USER_AGENT'];
?>
</div>
3) Dann erscheint auf dem Bildschirm des Betrachters:
(unterschiedlich, je nach verwendetem Browser)
CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
b) Liste der abgefragten Browser
-
Opera Version 9.0
Opera/9.00 (Windows NT 5.1; U; de)
-
Internet Explorer Version 6.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
-
Firefox Version 1.5.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.4)
Gecko/20060508 Firefox/1.5.0.4
-
Netscape Version 8.0.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)
Gecko/20051012 Netscape/8.0.4
↑