Linkbasis

von Thomas Salvador.

Wie Sie wissen oder im Kurs "HTML für Einsteiger" gelesen haben, werden Links relativ zum aktuellen Dokument aufgefasst. Dabei meinen lokale Links (#oben) eine Stelle in der gleichen Datei, und externe Links (test.html) eine andere Datei.

Die Position dieser anderen Datei wird relativ zur Position der aktuellen Datei, z.B. auch:

  • im gleichen Verzeichnis: test.html, kurz für ./test.html
  • in einem Unterverzeichnis: verzeichnis/test.html
  • im hüheren Verzeichnis: ../test.html
  • in einem Schwester-Verzeichnis: ../schwester/test.html

Mit Hilfe der Linkbasis kann diese Berechnung nun beeinflusst werden. Der Schlüssel ist das Basiselement base, welches in den Kopf head einer HTML-Datei gehört, wenn man es verwenden möchte.

Die Linkbasis verwendet passenderweise das Attribut href, womit die Syntax

<base href="BasisURL">

folgt.

Wirkungsweise

Betrachten wir die Wirkungsweise an einem Beispiel

aktueller URL: https://brauchbar.de/index.html
Basis        : nicht angegeben
Linkangabe   : ueber.html
Zieladresse  : https://brauchbar.de/ueber.html

aktueller URL: https://brauchbar.de/wd/index.html
Basis        : nicht angegeben
Linkangabe   : ueber.html
Zieladresse  : https://brauchbar.de/wd/ueber.html

Wir geben nun die Basis an:

aktueller URL: https://brauchbar.de/index.html
Basis        : https://brauchbar.de/wd/
Linkangabe   : ueber.html
Zieladresse  : https://brauchbar.de/wd/ueber.html

Wir sehen, dass wir durch Angabe der Basis im letzten Fall das Ziel verändert haben. ueber.html bezieht sich nicht mehr auf die aktuelle Dokument-URL, sondern auf die von uns angegebene Basis.

Nutzen

Der wesentliche Nutzen liegt darin, dass sich Links ggf. kürzer schreiben lassen.

Beispiel:

Nehmen wir meine Cash-Listen mit voller Referenzierung als Beispiel, damit es eine schöne Einsparung gibt.

<a href="https://brauchbar.de/wd/links/cash.html">...</a>
<a href="https://brauchbar.de/wd/links/cash1.html">...</a>
<a href="https://brauchbar.de/wd/links/cash2.html">...</a>
<a href="https://brauchbar.de/wd/links/cash3.html">...</a>
<a href="https://brauchbar.de/wd/links/cash4.html">...</a>

Das könnte man kürzer implementieren als

<base href="https://brauchbar.de/wd/links/">
...
<a href="cash.html">...</a>
<a href="cash1.html">...</a>
<a href="cash2.html">...</a>
<a href="cash3.html">...</a>
<a href="cash4.html">...</a>

und wäre absolut äquivalent.

Mit der Ausnahme, dass nun alle relativen Links in der Datei relativ zu https://brauchbar.de/wd/links/ genommen werden.

Das Vorgehen ist auch dann nützlich, wenn Dinge von verschiedenen Servern kommen oder ggf. auf diese ausgelagert werden sollen und eine relative Adressierung gänzlich unmöglich ist.

Denn würde man statt https://brauchbar.de/wd/links/ in diesem Dokument einen anderen URL als Basis nutzen, zum Beispiel https://irgendwas.erde/cash/, so würden diese Links nun dorthin gehen.

Grenzen

Entsprechend eng sind auch die Grenzen. Die Linkbasis kann nur dann wirklich genutzt werden, wenn Sie (viele) relative Links haben und diese Dateien geschlossen bewegt werden würden, zum Beispiel in ein anderes Verzeichnis oder auf einen anderen Server.

Natürlich könnte man jederzeit einen Link auch von relativ auf absolut ändern, um ihn so von der Linbasis unabhängig zu machen. Doch ist es dann doch einfacher oder übersichtlicher sie gleich separat zu behandeln.

Für Restrukturierungen eignet sich damit so genanntes "URL Rewriting" in der .htaccess besser, mit dem Sie auch Änderungen für einen Server oder Domains machen können. Eine Alternative kann auch ein Umleitungsscript sein, oder ein Fehlerbehandlungsscript, mit dem Sie auf ein ungültig gewordene Links reagieren.