2

ここにカスタム 404 ページをセットアップしました

404 ページが機能するように .htaccess ファイルを編集しました。

私が望むのは、訪問者が存在しないリンクをクリックしたときに、404 ページで少し遅れて訪問者をホームページに自動的にリダイレクトすることです。

4

3 に答える 3

14

404 ページでメタ更新タグを使用する

<meta http-equiv="refresh" content="3;URL='http://www.example.com/404.html'" />

コンテンツの値 (秒単位) とリダイレクト先の URL に従ってリダイレクトされます。

于 2013-08-03T05:17:15.180 に答える
5

適切な遅延を適用するには、クライアント側のリダイレクト方法を使用する必要があります。JavaScriptが無効になっているブラウザーをサポートしたい場合はMETA refreshnoscript要素にa を貼り付けるだけです。検索エンジンは通常のリンクnoscriptに対してペナルティを与えるため、要素内に配置することをお勧めします。META refresh

リダイレクトが永続的な場合は、canonicalタグを使用して、欠落しているページのリンク ジュースを保持することをお勧めします。

このJavaScript リダイレクトジェネレーターは良い方法です。そこから貼り付けたコード。また、トラフィック分析に役立つ HTTP リファラーを渡すための IE 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://example.com/"/>
<noscript>
    <meta http-equiv="refresh" content="5;URL=https://example.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://example.com/";
    var delay = "5000";
    window.onload = function ()
    {
        setTimeout(GoToURL, delay);
    }
    function GoToURL()
    {
        if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
        {
            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 -->
于 2015-09-03T15:22:16.600 に答える
3

404 エラー ページに PHP を少し追加するだけです。

私はあなたのhtaccessファイルにこれがあると仮定します、ErrorDocument 404 /error/404/

その/error/404ため、どこでも次のことができます。

<?php
    header("refresh:5; url=/wherever.html"); 
?>

5あなたの秒とwherever.htmlあなたのパットに必ず変更してください。

于 2013-08-03T05:37:05.047 に答える