2

私のサイトにはカスタム404エラーページがありますが、サイトで他のことをしているときに、エラーページは、特定のhtmlまたはphpファイルにリダイレクトされ、次のURLを取得するため、不足しているファイルの問題を特定するのが困難になります。アドレスバーから欠落しているファイルを削除し、カスタムエラーページのURLに置き換えます。

たとえば、ユーザーがサイトにログインすると、送信を押すとphpファイルにリンクされますが、ブラウザは404エラーページに直接移動するため、問題が実際には本来よりも1つ上のディレクトリにリンクします。

phpを使用して、欠落しているファイルのURLをページに出力しようとしましたが、サーバーは、元の欠落しているファイルのURLではなく、404エラーページのURLを取得するだけです。これが私がそれをやろうとした方法です:http://members.cox.net/midian/tutorials/php404.htm

アドレスバーに元の欠落しているURLを保持したままカスタムエラーページを表示するか、欠落しているファイルのURLをページに印刷するにはどうすればよいですか?

4

2 に答える 2

5

エラー ページがPHP を利用した 404 ページにリダイレクトさ$_SERVER["HTTP_REFERER"]れる場合、変数には何か興味深いものが含まれているはずです。そうは言っても、エラー 404 ページにリダイレクトするのは悪い習慣です。検索エンジンと人間の訪問者を同様に混乱させます。

編集

これはApacheで動作するソリューションです。.htaccess次の行をファイルに追加します。

ErrorDocument 404 /error-404.php

error-404.phpWeb サイトのルート ディレクトリに、次の内容のファイルを作成します。

<?php
echo "<h1>404 Not Found</h1>";
echo "<p>The page {$_SERVER['REQUEST_URI']} was not found on this server</p>";

firebug を含むエラーページのスクリーンショット

于 2011-09-15T06:46:18.530 に答える
2

Salman Aが投稿したものは私にとってうまくいきます。

.htaccess ファイルで相対パスを使用した場合にのみ機能しました。

ErrorDocument 404 /error-404.php

そしてそうではない ErrorDocument 404 http://www.mydomain.com/error-404.php

2 番目のバージョンでは、アドレス バーとページ本文にリダイレクトされた URL が表示されました。

また、404 メッセージに php ページを使用する必要はありません。ページの本文に URL をエコーし​​たくない場合は、html ページも同様に機能します。

于 2014-03-04T02:58:25.720 に答える