Directory Browsing

Datei-Download vom Webserver

Es ist möglich, ein vom Webserver verwaltetes Verzeichnis zum gemeinsamen oder öffentlichen Download einzurichten.
Das wird von den meisten AnwenderInnen sehr begrüßt.
Diese Seite zeigt, wie man diese Option am eigenen Server oder beim Web-Provider einrichten kann.
Apache Der weltweit erfolgreichste Standard Webserver (Linux, Windows)
Live-Demo Gemeinsames Download-Verzeichnis
Einzel-Download Download mit HTTP-Hyperlink
Eigener Webserver Einstellung in der Server Grund-Konfiguration
Provider-Webserver Nachträgliche Live-Einstellung
Optionen Individuelle Anpassung des Directory-Listing
Verhindern Mit einer Datei index.html

Live Directory Browsing

Im Fenster unterhalb sehen sie ein typisches Download-Verzeichnis: Diese Art der Darstellung und Verwendung nennt man (HTTP)-Directory Browsing.

Die enthaltenen Dateien können auf eigenes Risiko verwendet werden, d.h. es gibt keine Gewähr für die Funktion oder Richtigkeit der Daten.
Das Layout kann zwar verändert werden, kaum jemand macht sich jedoch diese Mühe: Alle gemeinsam oder öffentlich eingerichteten Download-Verzeichnisse sehen deshalb so ähnlich aus. (Die hier gezeigte Liste wurde allerdings geringfügig verändert).
Ein Link ins nächst-höhere Verzeichnis (Parent Directory) wird hier nicht zugelassen.
Directory-Browsing (die Anzeige aller Dateien eines Web-Verzeichnisses) ist normalerweise nicht notwendig, potentiell gefährlich und daher verboten bzw. abgeschaltet. In Ausnahme-Fällen (z.B. in einem Download-Verzeichnis) ist diese Methode jedoch praktisch und sinnvoll. Auf dieser Seite wird gezeigt, wie man ein solches Verzeichnis einrichtet.
Am eigenen Server im lokalen Netzwerk ist es sehr empfehlenswert, ein solches Verzeichnis einzurichten.
Das gleiche Verzeichnis macht man sinnvoll auch mit anderen Diensten zugänglich, z.B. mit dem → FileServer und dem FTP-Server. Für alle Arten des Zugangs richtet man die gleichen Rechte ein.
Am Server eines Providers ist diese Option meistens, jedoch nicht immer gestattet.
Man kann optional den → Zugang beschränken und man sollte dort nur wenige wirklich sinnvolle Dateien verwalten.

Einzel-Download

Unabhängig von der Möglichkeit des Directory Browsing gibt es immer die Möglichkeit zum Download einer einzelnen Datei. Dazu legt man einfach einen HTML-Hyperlink zu dieser Datei. Live-Beispiel: Download der Datei demo.zip mit Links auf Text oder Bild.
Der Link (Beispiel rechts) führt in diesem Fall nicht auf eine Webseite sondern auf eine beliebige Datei.
Tipp: Bieten Sie nach Möglichkeit nur Archive (*.zip) zum Download an.
HTML-Beispiel:
<a href="/public/demo.zip"> </a>

Eigener Webserver

Am eigenen Server haben sie vollen Zugriff auf die Konfiguration des Webservers. Das Beispiel rechts zeigt, wie man ein Verzeichnis zum HTTP-Download einrichtet.

Die Einrichtung eines Alias ist üblich und sinnvoll, jedoch nicht unbedingt notwendig.
Die Zugangs-Rechte (Allow/Deny) müssen eindeutig geregelt werden.
Danach folgt die Freigabe mit Options +Indexes und einigen weiteren Optionen.
Beispiel für eine Apache Konfigurations-Datei public.conf
Alias /public "/srv/public"
<Directory "/srv/public">
Order allow,deny
Allow from 192.168.0.0/255.255.255.0
Options +Indexes
IndexIgnore .??* *~
</Directory>

Bedingungen

Das Apache-Modul mod_autoindex muss geladen sein. Das ist bei typischen Installationen der Fall.
Mit der Anweisung Option +Indexes wird das 'Directory Browsing' erlaubt. Danach können zahlreiche Optionen zur genauen Einstellung folgen.
Details zu diesem Thema finden Sie in der offiziellen Apache-Dokumentation (die am eigenen Webserver ohnehin installiert sein sollte).

Alias

Das Alias /public erspart die Eingabe des Pfades zum Download-Verzeichnis und sichert dieses auch besser. Das Verzeichnis befindet sich besser nicht im Webserver-Bereich (DocumentRoot), sondern an anderer Stelle, z.B. /srv/public
So gelangt man nach Installation mit einem Browser in das Download-Verzeichnis:
http://192.168.0.2/public
(ersetzen Sie die IP-Adresse durch jene ihres Servers).

Zugangs-Rechte

Prinzipiell gelten die im Betriebssystem eingestellten Rechte. Sie können vom Webserver nur eingeschränkt, nicht erweitert werden.
Einstellung der Rechte am Webserver:
Mit Deny wird der Zugang generell verboten, danach werden mit Allow Ausnahmen zugelassen:
Im Beispiel wird der Zugang für alle PC des lokalen Netzwerks 192.168.0.* erlaubt.
Details zu IP-Adressen und -Masken

Datei-Typen

Am eigenen Server können Sie zwar alle Datei-Typen zum Download anbieten, eine Orientierung an den Beschränkungen typischer Web-Provider ist jedoch sinnvoll (schneller und sicherer).
Verwenden Sie nur ganz wenige Datei-Typen.
Lassen sie das Download-Verzeichnis niemals leer: Stellen sie mindestens eine kleine erklärende Text-Datei hinein.

Am besten geeignet sind Archive (z.B. *.zip).
Im Zweifel kann man jedes Archiv mit einer kurzen Text-Datei *.txt beschreiben.
Zusammengehörende Dateien (z.B. ganze Verzeichnisse / Ordner) werden am besten gemeinsam in ein einziges Archiv verpackt.
Große Dateien (z.B. >10MB) teilt man in mehrere Archive auf: Alle guten Archiv-Programme bieten diese Möglichkeit.

Vermeiden Sie direkt verwendbare Dateien, z.B. *.doc,*.xls,*.gif,*.jpg,*.mp3, ... und verpacken sie solche Dateien in Archive. So kann man die Gäste dazu bewegen, die Dateien möglichst nicht am Server zu öffnen (unerwünschter Verkehr im Netzwerk) sondern auf den eigenen PC zu kopieren.

Webseiten *.html,*.php, ... und PDF-Dokumente werden aus einer Directory-Liste nicht heruntergeladen sondern direkt angezeigt. Verpacken sie daher alle zum Download bestimmte Webseiten in Archive *.zip
Insbesondere sollte das Download-Verzeichnis keine Startseite index.html,index.htm,index.php enthalten !

Vermeiden Sie ausführbare Programme, z.B. *.exe,*.msi und verpacken Sie diese in Archive. Die meisten Provider sperren solche Datei-Typen aus gutem Grund.
Nach Neustart des Webservers tritt die Konfiguration in Kraft. Auf Linux verwendet man dazu die Shell-Konsole, direkt oder mit SSH ferngesteuert:
# /etc/init.d/apache2 restart

Auf einem Windows-Server verwendet man das Hilfsprogramm im System-Tray (ganz rechts unten).

Optionen

Für dieses Apache-Modul gibt es besonders viele einstellbare Optionen. Als Beispiel wird hier verwendet:
IndexOptions +IgnoreClient
Damit verhindert man, dass BesucherInnen eine lange Verzeichnis-Liste durch Anklicken der Spalten-Titel sortieren können (Der Server erzeugt jedesmal eine neue Liste). Es ist übersichtlicher und effizienter, die Dateien in sinnvoll benannte Sub-Verzeichnisse zu verschieben.
Die hier vorgestellten Methoden erlauben lediglich den Download von Dateien mit dem Browser. Ein Upload ist ebenfalls möglich, erfordert jedoch ganz andere Maßnahmen, z.B. den → Upload von Dateien mit PHP.

Provider-Webserver

Wenn Sie ein von ihrem Web-Provider verwaltetes Verzeichnis für den öffentlichen Download freigeben wollen, dann stellen sie eine einfache Text-Datei mit dem Datei-Namen .htaccess (genau so, mit führendem Punkt !) und dem rechts gezeigten Inhalt in das betreffende Verzeichnis.
Sie können die Demo-Datei auch downladen.
Beispiel für eine Konfigurations-Datei .htaccess
Options +Indexes
IndexIgnore .htaccess *~
Nur die erste Zeile ist unbedingt notwendig.
Diese Methode ist für den eigenen Server nicht sinnvoll ! Verwenden sie besser die im ↑ Kapitel oberhalb beschriebene Methode.

Allerdings ist es sinnvoll, die hier beschriebene Provider-Methode vor Verwendung am eigenen Server auszuprobieren.
Die hier beschriebene Methode funktioniert nur unter bestimmten Voraussetzungen. Diese (Apache Konfiguration) sind allerdings bei den meisten professionellen Web-Providern erfüllt.

In den folgenden Absätzen werden diese Bedingungen vorgestellt.

Apache Konfiguration

Die Apache Grund-Konfiguration ist am eigenen Server zugänglich, am Server des Web-Providers nicht. Einige Anweisungen beeinflussen das Verhalten von .htaccess Dateien.

Name der Datei für Zugangs-Kontrolle:
AccessFileName .htaccess
Ändern sie diesen Namen nur dann, wenn ihr Web-Provider einen anderen Datei-Namen verwendet.

Dateien dieses Namens werden nicht angezeigt:
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
Damit wird unterbunden, dass irgend eine durch den → RegExp-Ausdruck betroffene Datei (deren Name mit .ht beginnt) von einem Client (Browser) angezeigt wird. Das dient zum Schutz dieser Dateien.

Erlaubnis zur Live-Änderung der Konfiguration
<Directory /home/test>
AllowOverride Indexes
# AllowOverride All
</Directory>
Anweisung AllowOverride regelt die Möglichkeiten zur (nachträglichen) Live-Konfiguration.
Die Reichweite umfasst alle Dateien des angegebenen Verzeichnisses und seiner Unter-Verzeichnissse.
Normalerweise wird diese Option zunächst einmal für alle Verzeichnisse mit AllowOverride None verboten. Erst danach wird die Option für ausgewählte Verzeichnisse freigegeben.
Im Beispiel wird die Option für das private Verzeichnis des Users test freigegeben (Typisch für einen Web-Provider). Am eigenen Server verwenden sie diese Option für jene Webseiten, die zum Provider hochgeladen werden, nicht jedoch für Webseiten, die nur im eigenen lokalen Netzwerk verwendet werden.
Windows macht meistens Probleme mit Dateien, deren Name mit einem . Punkt beginnt. Dagegen helfen u.a. diese Tricks:

Fertige Datei downladen: Archiv auspacken. Wenn die Datei erst einmal existiert, kann man sie mit jedem Text-Editor bearbeiten.
Ein gutes Editor-Programm wie z.B. Notepad++ kann solche Dateien nicht nur erzeugen, öffnen und verändern, sondern auch im normalerweise geforderten Linux-Format speichern.
Datei mit einem Windows-Namen test.txt erzeugen, danach mit der guten alten DOS-Konsole (Eingabeaufforderung) kopieren oder umbenennen:
C:\> copy test.txt .htaccess
C:\> rename test.txt .htaccess
Jede Änderung der Konfiguration tritt erst nach Neustart des Webservers in Kraft.

Optionen

Das Apache Modul mod_autoindex bietet besonders viele Optionen zur individuellen Konfigration der Directory Listings. Hier wird eine kleine subjektive Auswahl von Optionen vorgestellt.

Alias

Es ist empfehlenswert, ein Webserver-Alias einzurichten. Wählen sie einen passenden Namen (hier /public ) und ändern sie den Pfad zum Verzeichnis nach Bedarf. Der Browser-Zugang erfolgt dann z.B. mit
http://192.168.0.2/public
(Ersetzen sie die IP-Adresse durch den Namen oder die tatsächliche Adresse ihres Servers).

Rechte

Alle Dateien in einem Download-Verzeichnis sollten lediglich lesbar sein. Ändern sie die Rechte z.B. mit
# chown -R root /srv/public
# chmod -R 744 /srv/public
Um ein Verzeichnis überhaupt zu 'betreten', braucht man Execute-Rechte, z.B.
# chmod 755 /srv/public

Indexes

Das Directory-Browsing wird am besten am gesamten Server generell verboten. Mit der Option Indexes wird es für einzelne Verzeichnisse ausdrücklich erlaubt. Diese Option ist unbedingt erforderlich, um Directory Browsing zu erlauben.
Beispiel für eine Apache Konfigurations-Datei public.conf
Alias /public "/srv/public"
<Directory "/srv/public/">
Order allow,deny
Allow from all

Options Indexes
# DirectoryIndex zipp.zapp
HeaderName .HEADER.HTML
ReadmeName .FOOTER.HTML
IndexIgnore .??* *~
IndexIgnore *.CSS *.HTML *.TXT
# IndexStyleSheet ".INDEX.CSS"
IndexStyleSheet "/lib/dir_index.css"

IndexOptions +FoldersFirst
IndexOptions +HTMLTable
IndexOptions +IgnoreCase
IndexOptions +IgnoreClient
IndexOptions +SuppressDescription
</Directory>
Alle Argumente der Anweisungen IndexIgnore, IndexOptions kann man auch in je eine einzige Zeile schreiben. Die hier verwendete Aufteilung erfolgt lediglich zur besseren Übersicht.

IndexIgnore

Als Argumente folgen die Namen oder Namens-Muster von Dateien, die im Directory-Listing nicht angezeigt werden sollen.
Das Muster .* bezeichnet alle Dateien, deren Namen mit einem . Punkt beginnen. Sie werden nicht angezeigt. Mindestens die Dateien .ht* müssen von der Ansicht ausgeschlossen werden.
Mit .* wird auch der Link zum Parent-Directory abgeschaltet. Um dieses auszunehmen verwenden sie das Muster .??*
Das Muster *~ bezeichnet alle Dateien, deren Namen mit einem ~ Zeichen enden. (Linux Editor-Programme erzeugen Sicherungs-Dateien mit solchen Namen).
Linux unterscheidet streng zwischen Groß- und Kleinbuchstaben. Daher kann man anordnen, alle üblichen Dateien *.html anzuzeigen, *.HTML jedoch zu unterdrücken.

IgnoreClient

Diese IndexOption schaltet die sonst angebotene Möglichkeit ab, die Liste durch Anklicken einer Spalten-Überschrift zu sortieren. Das kostet wertvolle Server-Zeit, da die Liste jedesmal neu erstellt wird.
Es ist sparsamer und zugleich übersichtlicher, in jedem Verzeichnis nur wenige Dateien zu verwalten, und dafür sinnvolle Sub-Verzeichnisse einzurichten.

DirectoryIndex

Die Verzeichnis-Ansicht wird nicht angezeigt, wenn sich eine Datei darin befindet, welche vom Webserver als Standardseite angezeigt wird, z.B. index.html
Dieses Verhalten kann man mit einem Trick umgehen: Mit der Anweisung DirectoryIndex definiert man einen mit Sicherheit nicht vorkommenden Datei-Namen als Standardseite. In diesem Fall werden auch Dateien wie index.html, index,htm, index.php in der Verzeichnis-Liste angezeigt.

SuppressDescription

Diese IndexOption schaltet die Spalte zur Beschreibung der jeweiligen Datei ab. Sie wird ohnehin kaum verwendet - ohne diese Spalte ist mehr Platz für die wichtigen Daten.

Allow / Deny

Im Beispiel ist der allgemeine Zugang ohne Einschränkung erlaubt. So wird der Zugang auf das eigene lokale Netzwerk begrenzt:
Allow from 192.168.0.0/255.255.255.0
(Ändern sie die Adresse auf die Basis-Adresse ihres lokalen Netzwerks)

IndexStyleSheet

Mit dieser Anweisung wird eine → CSS StyleSheet-Datei zur Formatierung der Liste verwendet.
Das Beispiel rechts oben zeigt 2 Varianten:

Die erste Variante (mit # abgeschaltet, für Verwendung bei einem Web-Provider) verwendet eine Datei .INDEX.CSS im gleichen Verzeichnis. Ihre Anzeige in der Liste wird mit einer passenden Einstellung von IndexIgnore vehindert.

Die zweite Variante bezeichnet eine Datei dir_index.css in einem beliebigen Pfad, welcher mit einem Alias /lib am eigenen Server bezeichnet ist. Wenn dieses Alias nicht definiert ist, dann beziehen sich Pfade mit führendem / Zeichen auf das DocumentRoot-Verzeichnis des Webservers (in dem sich auch die 'Homepage' index.html befindet).
Mit Rechtsklick in eine von ihrem Server angezeigte Directory-Liste erhalten sie den HTML-Quelltext.
Für jedes der enthaltenen HTML-Elemente kann man mit → CSS Regeln zur passenden Formatierung erstellen.

Beispiel für eine CSS-Datei dir_index.css
body{font-size:12pt;}
h1{font-family:sans-serif;
font-size:14pt;}
th,td{font-family:'Courier New',mono;
font-size:10pt; padding-right:10px;}

Diese CSS-Regeln formatieren eine als Tabelle <table> formatierte Directory-Liste. Sie können das mit der Option HTMLTable ausdrücklich verlangen. Ansonsten wird meistens ein HTML <pre>-Element verwendet, welches sie ebenfalls mit CSS formatieren können.

HeaderName

Mit dieser Anweisung ersetzt man den ansonsten automatisch hergestellten Seiten-Titel (Index of ...) durch einen eigenen. Der Datei-Name bezieht sich auf eine HTML-Text-Datei des angegebenen Namens im angezeigten Verzeichnis.

Die Anzeige dieser Datei in der Liste wird mit einer IndexIgnore Anweisung unterdrückt. Noch besser ist es, den Datei-Namen mit einem . Punkt zu beginnen, denn solche Dateien werden normalerweise von keinem Dienst angezeigt.

Beispiel für eine Datei .HEADER.HTML
<h1>Public Download-Verzeichnis</h1>

Die Datei .HEADER.HTML muss in jedes (Sub)-Verzeichnis kopiert werden, für das man diese Option verwenden will.

Es hat sich bewährt, für die Namen von Dateien, die man in der Directory-Liste nicht anzeigen will, Großbuchstaben zu verwenden. Solche Dateien kann man mit einer einfachen IndexIgnore Anweisung generell 'verstecken'.

ReadmeName

Mit dieser Anweisung ersetzt man die ansonsten automatisch hergestellte Server-Kennung am Ende der Directory-Liste (Apache...) durch einen eigenen Text.

Auch der Name dieser Datei beginnt am besten mit einem . Punkt.

Beispiel für eine Datei .FOOTER.HTML
<h1>
Verwendung der Dateien auf eigens Risiko !
</h1>

Die Datei .FOOTER.HTML muss in jedes (Sub)-Verzeichnis kopiert werden, für das man diese Option verwenden will.

Man kann damit normalerweise nur statische HTML-Dateien einfügen. Mit einem HTML → <iframe>-Element kann man allerdings beliebige (auch dynamische) Web-Elemente einfügen, z.B.
<iframe src="/lib/footer.php" frameborder="0" style="height:100px; width:100%;">
</iframe>
Der Pfad /lib/footer.php ist absolut angegeben, man muss ihn daher in der Datei .FOOTER.HTML niemals ändern. Das PHP Script-Programm befindet sich außerhalb des angezeigten Verzeichnisses, man muss es daher nicht mit einer IndexIgnore Anweisung verstecken.

Datei-Namen

Linux unterscheidet streng zwischen Groß- und Kleinbuchstaben, Windows ignoriert den Unterschied leider, allerdings auch nicht in allen Fällen. Auf Linux sind z.B. folgende Dateien im gleichen Verzeichnis möglich:
test.dat, Test.dat, TEST.dat, test.DAT
Vermeiden sie solche Fälle nach Möglichkeit, zumindest in Download-Verzeichnissen, auf welche auch Windows-User Zugriff haben. Wenn man das Verzeichnis auf einen Windows-PC kopiert, dann ist das Ergebnis nicht vorhersagbar - normalerweise werden einige Dateien vernichtet.

Vermeiden sie Leerzeichen, Umlaute und Sonderzeichen in den Namen von Verzeichnissen und Dateien, z.B. ÄÖÜäöü߀+#?& usw.
Das Verhalten beim Kopieren auf andere Systeme oder beim Versenden über das Internet ist nicht vorhersagbar. Oft werden die verwendeten Sonderzeichen verändert, oder die verwendeten Programme ergeben Fehler.

Verwenden sie als Datei-Namen nur → ASCII-Kleinbuchstaben, Ziffern und das _ Underline-Zeichen. In diesem Fall ist garantiert, dass die Dateien auf jedem System verwendbar sind.

FoldersFirst

Diese IndexOption sortiert Verzeichnisse vor Dateien, so wie das Windows-User gewohnt sind. Ansonsten wird genau nach → ASCII-Code sortiert, unabhängig davon, ob es sich um Verzeichnisse (Ordner) oder Dateien handelt.

IgnoreCase

Diese IndexOption sortiert die Datei-Namen so wie das Windows-User gewohnt sind. Ansonsten wird genau nach → ASCII-Code sortiert, d.h. Großbuchstaben vor Kleinbuchstaben.

HTMLTable

Mit dieser IndexOption wird zur Erzeugung der Liste ein HTML-Tabelle <table> verwendet. Je nach Server-Version wird dazu ein HTML <pre>-Element oder ohnehin bereits eine Tabelle verwendet. (Stellen sie das im HTML-Quelltext einer angezeigten Directory-Liste fest). In den meisten Fällen lässt sich die Tabelle leichter mit → CSS formatieren.

Directory-Browsing verhindern

DirectoryIndex

Es gibt verschiedene Methoden, um unerwünschtes Directory-Browsing zu verhindern. Die einfachste, sicherste und immer anwendbare Methode besteht darin, eine Datei mit dem Namen index.html in jedes einzelne Verzeichnis des Webs zu kopieren.

Jeder Webserver muss damit rechnen, dass von einem Client (Browser) keine Datei, sondern lediglich ein Verzeichnis angefordert wird. In diesem Fall sucht der Webserver im angegebenen Verzeichnis nach einer Datei mit einem vor-eingestellten Namen - meist nach index.html oder index.htm, seltener nach start.html

Die zu suchenden Datei-Namen sind in der Konfigurations-Variablen DirectoryIndex des (Apache)-Webservers festgelegt. Typische Einstellung:
DirectoryIndex index.html index.htm index.php

Test: Versuchen sie einmal, mit einem Browser in ein beliebiges Verzeichnis ihres eigenen Webs zu gelangen, z.B.
http://www.meinweb.at/images
Geben sie dazu die Adresse eines Verzeichnisses ohne den Namen einer Datei an !

Wenn in jedem einzelnen Verzeichnis (Ordner) des Webs eine Datei index.html vorhanden ist, dann wird unerwünschtes Directory-Browsing damit unterbunden.

Homepage

Es ist ein weit verbreiteter Irrglaube, dass (lediglich) die Start-Seite des gesamten Webs den Datei-Namen index.html erhalten muss.
Das Beispiel rechts zeigt die Minimal-Ausführung einer Datei index.html, die man unverändert in jedes einzelne Verzeichnis kopieren kann.
Lediglich die wirkliche 'Homepage', d.h. die Startseite des gesamten Webs wird in diesem Fall zwar genauso benannt, jedoch individuell gestaltet.
Diese Datei erfüllt die Minimal-Forderung: Sie verhindert Directory-Browsing und führt bei einem Versuch zur Startseite ihres Webs.

Beispiel für eine minimale Sicherheits-Datei index.html für jedes Web-Verzeichnis:
<html>
<body>
<a href="http://www.meinweb.at">
Zu meiner Homepage
</a>
</body>
</html>
Ersetzen sie die angegebene Web-Adresse (URL) durch jene ihres eigenen Webs.

Umleitung

Das Beispiel unten erfüllt den gleichen Zweck, ist jedoch mit etwas mehr Aufwand gestaltet.

Sie können die Datei ohne Änderung in jedes einzeln Web-Verzeichnis kopieren.
In diesem Fall ersetzen sie das Wort 'Ziel' z.B. durch 'Homepage und das Attribut href des HyperLinks durch die absolute Web-Adresse ihrer Homepage, z.B. http://www.meinweb.at

Die automatische Umleitung wird von einem winzigen → Javascript-Programm durchgeführt. Selbst dann, wenn das nicht funktionieren sollte, wird Directory-Browsing zuverlässig verhindert und die Seite mit einem HyperLink angezeigt.

Eine individuelle Umleitung - in jedem Verzeichnis auf eine andere Webseite - erfordert ein kleine Anpassung jeder einzelnen Kopie dieser Datei:
Ersetzen sie das sichtbare Wort 'Ziel' durch einen sinnvollen Begriff - je nach Thema.
Tragen sie als Attribut href des HyperLinks die relative Adresse jener Webseite ein, zu welcher die automatische Umleitung führen soll. Das ist normalerweise einfach der Datei-Name, wenn sich das Umleitungs-Ziel im gleichen Verzeichnis befindet.
Beispiel für eine Datei index.html mit automatischer Umleitung zu einer Webseite ziel.html :
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Weiterleitung</title>
</head>
<body onload="location.replace(document.getElementById('ah').href)">
<h1><a id="ah" href="ziel.html" target="_self">Ziel</a></h1>
</body>
</html>

XHTML CSS