HTML "Weiterleitung"?
Hallo,
ich mache gerade Websites. JavaScript, HTML und CSS kann ich bereits. Ich würde gerne wissen, wie ich von "Beispielwebsite.net" zu "Beispielwebsite.net/beispiel" komme. Ich habe überlegt es mit JavaScrpit zu machen. Indem ich einfach das gewünschte HTML Dokument öffne. Will aber den Weg erstmal ausschließen falls es anders geht.
Wie geht das?
Die Website ist nur Lokal und nicht auf einem Server.
7 Antworten
Ohne JavaScript oder eine Backend-Sprache (wie PHP) kann das nichts werden. HTML ist keine Programmiersprache, sondern nur eine Markup-Sprache, die das Layout der Webseite beschreibt. Du kannst mit HTML daher nicht sagen "Leite auf Seite X weiter, wenn der Nutzer Y macht" (mit Ausnahme von Links, d.h. <a> Tags). Dafür braucht es eine Programmiersprache - wie JavaScript.
Mit JS geht das dann wie folgt:
window.location.href = "http://beispielwebseite.net/beispiel";
Die einzige Ausnahme wäre, wenn der Nutzer direkt weitergeleitet werden soll, wenn er die Webseite öffnet. Das ginge dann tatsächlich mit einem HTML meta-Tag im head:
<meta http-equiv="refresh" content="0; url=http://beispielwebseite.net/beispiel" />
Ohne JavaScript oder eine Backend-Sprache (wie PHP) kann das nichts werden
Unsinn 301-Weiterleitung macht man nicht mit JS
Das kommt halt darauf an, was zu der Weiterleitung führen soll. Das hat der FS nicht genauer definiert.
Wenn der Nutzer per Klick auf eine Seite weitergeleitet werden soll, sind a-Tags natürlich die beste Wahl (auch im Sinne der Accessibility).
Folgefrage: Ich stelle das ganze nicht Online, weil es nur ein kleines Nebenprojekt ist. Währe das trotzdem möglich?
Wenn ja, muss ich die Seite auf die ich weiterleiten will einfach "http://beispielwebseite.net/beispiel" nennen?
Wenn die Website nicht auf einem Server ist, kannst du natürlich keine Domain im Link verwenden. Die Website hat ja keine Domain
<meta http-equiv="refresh" content="3; URL=http://www.Beispielwebsite.net/beispiel/">
content ist die Zeit zur weiterleitung
Zum Thema Weiterleitung über HTTP-Status 301 ("Seite umgezogen"), HTML-Meta "refresh" und JavaScript-Weiterleitung wurde schon genug geschrieben.
Die beste Alternative ist allerdings immer noch, direkt die gewünschte Seite zu laden anstatt den Browser zwei Seiten anfordern zu lassen.
Wie man einstellt, welche Seite geladen wird, wenn nur ein Ordner angegeben wird (wie das "Stammverzeichnis" des Servers, etwa "Beispielwebsite.net"), steht in der Dokumentation zum jeweiligen Live-Server-System.
Das hier als meta Tag einfügen sollte/müsste gehen. Dann kannst du direkt beim Besuch auf eine Seite zu der im Meta-Tag genannten URL weiterleiten. Praktisch wenn bspw. dein Content von einer Seite auf eine andere umgezogen ist.
<meta http-equiv="refresh" content="3; URL=http://www.example.com/">
Hallo Gamer103,
schau dir mal die .htaccess Datei an. Die existiert vermutlich auf deinem Webserver noch nicht, aber im Internet gibt es entsprechende Dokumentationen dazu. Mit der Datei kannst du so einiges am Verhalten der Webseite verändern. Eben auch eine Weiterleitung an ein anderes Ziel.
Ben
Dies ist der einzige Weg, der auf fast jedem Webserver funktioniert und fast überall verwendet wird. (Eine Ausnahme ist z. B. der IIS von Microsoft, der statt ".htaccess" "ApplicationHost.config" verwendet. Naja, manche müssen halt immer ihr eigenes Süppchen kochen.)
Außerdem ist dies die erste Antwort, die nicht schon voraussetzt, dass überhaupt irgendeine Default-Seite bekannt ist.
Htaccess-Konfigurationsdateien sind typisch für Apache HTTP-basierte Server, doch keine Art Standard von dem nur manche ausscheren würden. Andere Server (wie z.B. Express, GlassFish, Nginx, Tomcat) liefern in der Regel keinen initialen Support für diesen Konfigurationstyp.
Das ist überhaupt keine 301-Weiterleitung, das ist eine Anweisung an den Server, was er tun soll, wenn nur ein Verzeichnis, aber keine Datei angefordert wird.
Ich hatte die Frage als ein diesbezügliches Missverständnis interpretiert (kommt hier oft vor) oder als eine Frage, die voraussetzt, dass es keine einfachere/elegantere/üblichere Möglichkeit gibt, als erstes eine andere Seite als die Standardseite des Servers zu liefern.
Was spricht denn gegen <a>-Tags?