xhtml 리다이렉트 url - HTML 페이지에서 리디렉션





12 Answers

나는 메타자바 스크립트 코드를 둘 다 사용할 것이고, 링크를 가지고있을 것이다.

<!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>

완벽을 기하기 위해 서버 리디렉션을 사용하는 것이 가장 좋은 방법이라고 생각합니다. 따라서 301 상태 코드를 보내십시오. 이것은 Apache 사용하는 .htaccess 파일을 통해 또는 WordPress 사용하는 수많은 플러그인을 통해 쉽게 수행 할 수 있습니다. 주요 컨텐트 관리 시스템을위한 플러그인도 있습니다. 또한 cPanel은 301 리디렉션을 서버에 설치 한 경우 매우 쉽게 구성 할 수 있습니다.

redirect index.html 리다이렉션

로드시 다른 페이지로 리디렉션하도록 기본 HTML 페이지를 설정할 수 있습니까?




나는 또한 귀하의 SEO 사람들을 돕기 위해 정식 링크를 추가 할 것입니다 :

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>



머리 속에 삽입 된 다음 메타 태그는 브라우저가 리디렉션하도록 지시합니다.

<meta http-equiv="Refresh" content="seconds; url=URL"> 

초를 리디렉션되기까지 대기 할 시간 (초)으로 바꾸고 URL을 리디렉션 할 URL로 바꿉니다.

또는 자바 스크립트로 리디렉션 할 수 있습니다. 이 태그를 페이지의 아무 곳에 나 스크립트 태그 안에 넣으십시오.

window.location = "URL"



현대 웹 표준을 따르기를 기대한다면 일반 HTML 메타 리디렉션을 피해야합니다. 서버 측 코드를 만들 수없는 경우 대신 자바 스크립트 리디렉션을 선택해야합니다.

JavaScript를 사용하지 않는 브라우저를 지원하려면 HTML 메타 리디렉션 줄을 noscript 요소에 추가하십시오. canonical 태그와 결합 된 noscript 중첩 메타 리디렉션은 검색 엔진 순위에도 도움이됩니다.

리디렉션 루프를 피하려면 location.replace() JavaScript 함수를 사용해야합니다.

적절한 클라이언트 측 URL 리디렉션 코드는 다음과 같습니다 (Internet Explorer 8 이상에서 수정없이 지연없이).

<!-- 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 -->



페이지가로드되면 init 함수가 시작되고 페이지가 리디렉션됩니다.

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

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



<head> 섹션에 다음 코드를 입력하십시오.

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



모든 유형의 페이지에서 작동하는 간단한 방법은 머리에 meta 태그를 추가하는 것입니다.

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



HTTP 상태 코드 301 또는 302를 사용하여 자동으로 리디렉션 할 수 있습니다.

PHP의 경우 :

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



5 초 지연을위한 면도기 엔진 :

<meta http-equiv="Refresh"
         content="5; url=@Url.Action("Search", "Home", new { id = @Model.UniqueKey }))">



body 태그의 onload 이벤트 만 사용하십시오.

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



이를 위해 JavaScript 코드가 필요하지 않습니다. 이것을 HTML 페이지의 <head> 섹션에 작성하십시오.

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

페이지가 0 초에로드되면 바로 페이지로 이동할 수 있습니다.




이것은 내가 원했지만 잘라내어 붙여 넣기 좋은 깨끗한 발췌 문장에서 찾을 수없는 리디렉션 솔루션입니다.

이 스 니펫에는 여러 가지 장점이 있습니다.

  • 여러분은 여러분의 url에 대한 querystring 매개 변수를 붙잡고 보유 할 수 있습니다.
  • 원하지 않는 캐싱을 피하기 위해 링크를 unqiue로 만듭니다.
  • 사용자에게 이전 사이트 이름과 새 사이트 이름을 알릴 수 있습니다.
  • 설정 가능한 카운트 다운을 보여줍니다.
  • retains params와 같이 딥 링크 리디렉션에 사용할 수 있습니다.

사용하는 방법:

전체 사이트를 이전 한 경우 이전 서버에서 원래 사이트를 중지하고이 파일을 루트 폴더의 기본 index.html 파일로 다른 사이트를 만듭니다. 404 오류가이 index.html 페이지로 리디렉션되도록 사이트 설정을 편집하십시오. 이것은 하위 레벨 페이지 등으로 연결되는 이전 사이트에 액세스하는 모든 사용자를 포착합니다.

이제 시작 스크립트 태그로 이동하여 oldsite 및 newSite 웹 주소를 편집하고 필요에 따라 초 값을 변경하십시오.

웹 사이트를 저장하고 시작하십시오. 작업 완료 - 커피 시간.

<!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>




Related