zeit - Umleitung von einer HTML-Seite




index.html weiterleitung url (17)

Ist es möglich, eine einfache HTML Seite einzurichten, die beim Laden auf eine andere Seite umgeleitet wird?


JavaScript

<script language="javascript">
    window.location.href = "http://example.com"
</script>

Meta-Tag

<meta http-equiv="refresh" content="0;url=http://example.com">

Benutze diesen Code:

<meta http-equiv="refresh" content="0; url=https://google.com/" />

Bitte beachten Sie: Legen Sie es in den Kopf-Tag.


Der einfache Weg, der für alle Arten von Seiten funktioniert, ist einfach ein meta Tag im Kopf hinzuzufügen:

<html>
    <head>
        ...
        <meta HTTP-EQUIV="REFRESH" content="seconds; url=your.full.url/path/filename">
        ...
    </head>
    <body>
        Don't put much content, just some text and an anchor.
        Actually, you will be redirected in N seconds (as specified in content attribute).
        That's all.
        ...
    </body>
</html>

Dies ist eine Redirect-Lösung mit allem, was ich wollte, aber nicht in einem netten, sauberen Snippet zum Ausschneiden und Einfügen finden konnte.

Dieses Snippet hat eine Reihe von Vorteilen:

  • können Sie alle querystring params Leute auf ihrer URL fangen und behalten
  • macht die Verbindung möglich, um unerwünschtes Caching zu vermeiden
  • Hiermit können Sie Benutzer über die alten und neuen Websitenamen informieren
  • zeigt einen einstellbaren Countdown
  • kann für Deep-Link-Redirects verwendet werden, behält Params bei

Wie benutzt man:

Wenn Sie eine gesamte Site migriert haben, stoppen Sie auf dem alten Server die ursprüngliche Site und erstellen Sie eine andere Datei mit dieser Datei als Standarddatei index.html im Stammordner. Bearbeiten Sie die Websiteeinstellungen so, dass alle 404-Fehler auf diese Seite index.html umgeleitet werden. Dies fängt jeden, der auf die alte Seite zugreift, mit einem Link in eine untergeordnete Seite usw. ein.

Gehen Sie nun zum Eröffnungsskript-Tag und bearbeiten Sie die oldsite- und newSite-Webadressen und ändern Sie den Sekundenwert nach Bedarf.

Speichern und starten Sie Ihre Website. Job fertig - Zeit für einen Kaffee.

<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
<style>
body { margin: 200px; font: 12pt helvetica; }
</style>

</head>
<body>

</body>
<script type="text/javascript">

// Edit these to suit your needs.
var oldsite = 'http://theoldsitename.com'
var newSite = "https://thenewsitename.com";
var seconds = 20;  // countdown delay.

var path = location.pathname;
var srch = location.search;
var uniq = Math.floor((Math.random() * 10000) + 1);
var newPath = newSite + path + (srch === '' ? "?" + uniq : srch + "&" + uniq); 


document.write ('<p>As part of hosting improvements, the system has been migrated from ' + oldsite + ' to</p>');
document.write ('<p><a href="' + newPath + '">' + newSite + '</a></p>');
document.write ('<p>Please take note of the new website address.</p>');
document.write ('<p>If you are not automatically redirected please click the link above to proceed.</p>');
document.write ('<p id="dvCountDown">You will be redirected after <span id = "lblCount"></span>&nbsp;seconds.</p>');

function DelayRedirect() {
    var dvCountDown = document.getElementById("dvCountDown");
    var lblCount = document.getElementById("lblCount");
    dvCountDown.style.display = "block";
    lblCount.innerHTML = seconds;
    setInterval(function () {
        seconds--;
        lblCount.innerHTML = seconds;
        if (seconds == 0) {
            dvCountDown.style.display = "none";
            window.location = newPath;
        }
    }, 1000);
}
DelayRedirect()

</script>
</html>



Fügen Sie den folgenden Code in den <head> Abschnitt ein:

<meta http-equiv="refresh" content="0; url=http://address/">

Ich benutze ein Skript, das den Benutzer von index.html nach home.html umleitet

<html>
  <head>
    <title>index.html</title>
  </head>
  <body onload="document.getElementById('lnkhome').click();">
    <a href="Home.html" id="lnkhome">Go to Home Page<a>
  </body>
</html>

Ich habe ein Problem bei der Arbeit mit einer jQuery Mobile- Anwendung festgestellt, wo mein Meta-Kopfzeilen-Tag in einigen Fällen keine korrekte Umleitung erreichte (jQuery Mobile liest Header nicht automatisch für jede Seite, so dass JavaScript dort auch unwirksam ist, wenn es nicht eingepackt wird) Komplexität). Ich fand die einfachste Lösung in diesem Fall, die JavaScript-Umleitung direkt in den Textkörper des Dokuments zu stellen:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="0;url=myURL" />
    </head>

    <body>
        <p>You are not logged in!</p>
        <script language="javascript">
            window.location = "myURL";
        </script>
    </body>
</html>

Dies scheint in jedem Fall für mich zu funktionieren.


Ich würde sowohl Meta- und JavaScript-Code verwenden und würde nur für den Fall eine Verbindung haben.

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="0; url=http://example.com">
        <script type="text/javascript">
            window.location.href = "http://example.com"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
    </body>
</html>

Der Vollständigkeit halber denke ich, dass der beste Weg, wenn möglich, Server-Weiterleitungen ist, also sende einen 301 Status-Code. Dies ist einfach über .htaccess Dateien mit Apache oder über zahlreiche Plugins mit WordPress . Ich bin mir sicher, dass es auch Plugins für alle wichtigen Content-Management-Systeme gibt. Außerdem hat cPanel eine sehr einfache Konfiguration für 301 Weiterleitungen, wenn Sie diese auf Ihrem Server installiert haben.



Sie können den HTTP-Statuscode 301 oder 302 automatisch umleiten.

Für PHP:

<?php
    Header("HTTP/1.1 301 Moved Permanently");
    Header("Location: http://www.redirect-url.com");
?>

Sie könnten eine META "Weiterleitung" verwenden:

<meta http-equiv="refresh" content="0; url=http://new.example.com/address" />

oder JavaScript- Umleitung (beachten Sie, dass nicht alle Benutzer JavaScript aktiviert haben, also bereiten Sie immer eine Backup-Lösung vor)

<script language="javascript">
  window.location = "http://new.example.com/address";
</script>

Aber ich würde eher mod_rewrite empfehlen, wenn Sie die Option haben.


Sobald die Seite geladen ist, wird die init Funktion ausgelöst und die Seite wird umgeleitet:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <script>
            function init()
            {
               window.location.href = "www.wherever.com";
            }
        </script>
    </head>

    <body onload="init()">
    </body>
</html>

Soweit ich sie verstehe, scheinen alle Methoden, die ich bisher für diese Frage gesehen habe, der Geschichte den alten Ort hinzuzufügen. Um die Seite umzuleiten, aber nicht den alten Ort in der Geschichte habe ich die replace Methode:

<script>
    window.location.replace("http://example.com");
</script>

Verwenden Sie einfach das Onload-Ereignis des Body-Tags.

<body onload="window.location = 'http://example.com/'">

Wenn Sie sich darauf freuen, modernen Web-Standards zu folgen, sollten Sie einfache HTML meta Weiterleitungen vermeiden. Wenn Sie keinen serverseitigen Code erstellen können, sollten Sie stattdessen JavaScript-Umleitung wählen.

Um JS-deaktivierte Browser zu unterstützen, fügen Sie einem noscript Element eine HTML meta Umleitungszeile noscript . Die noscript verschachtelte Meta-Weiterleitung in Kombination mit dem canonical Tag wird auch Ihren Suchmaschinen-Rankings helfen.

Wenn Sie Umleitungsschleifen vermeiden möchten, sollten Sie die JavaScript-Funktion location.replace () verwenden.

Ein korrekter clientseitiger URL-Umleitungscode sieht so aus (mit einem IE 8 und niedrigerem Fix und ohne Verzögerung):

<!-- Pleace this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Redirect to a page</title>
    </head>
    <body onload="window.location.assign('http://example.com')">

    </body>
</html>






html-head