HTML "Weiterleitung"?


15.09.2022, 16:57

Die Website ist nur Lokal und nicht auf einem Server.

PWolff  15.09.2022, 17:02

Öffnest du direkt eine .htm- oder .html-Datei mit dem Browser? Sonst hast du einen lokalen Webserver.

Gamer103 
Fragesteller
 17.09.2022, 17:08

Ich öffne die HTML-Datei per LiveServer

7 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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" />
Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung
Gamer103 
Fragesteller
 15.09.2022, 15:31

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?

0
NackterGerd  15.09.2022, 21:30
@Gamer103

Wenn die Website nicht auf einem Server ist, kannst du natürlich keine Domain im Link verwenden. Die Website hat ja keine Domain

0
MrAmazing2  15.09.2022, 15:42

Was spricht denn gegen <a>-Tags?

0
Functional  15.09.2022, 18:13
@MrAmazing2

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).

0
NackterGerd  15.09.2022, 21:28
Ohne JavaScript oder eine Backend-Sprache (wie PHP) kann das nichts werden

Unsinn 301-Weiterleitung macht man nicht mit JS

0
CoachingNRW  16.09.2022, 15:43

Es geht ganz wunderbar mit meta refresh...

0

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

PWolff  15.09.2022, 16:25

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.

0
regex9  15.09.2022, 17:38
@PWolff

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.

2
PWolff  15.09.2022, 21:39
@NackterGerd

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.

0