訪問者と管理者に有用な403/404エラーページを作るPHPチュートリアル
2009年04月21日-
404/403 Website Error Pages With PHP Auto-Mailer - Nettuts
訪問者と管理者に有用な403/404エラーページを作るPHPチュートリアル。
apacheデフォルトのエラーページは不親切ということで、カスタムエラーページを作ろうという議論は前から色々あるみたいですが、その具体的方法について。
単純なチュートリアルだけではなく、どういう内容にすればよいか、エラーの情報をどうするか、などの見本もあって興味深いものとなっていました。
知っている人にとってはあまりにも当たり前すぎて逆に着手しないという風に流れるかもしれませんが、一度、記事を参考にエラーページについて考えなおしてみようかな、と思ってしまいました。
phpに詳しくない方でも、チュートリアルを見れば、物凄く簡単に設定できるので設定してみるのもよいかも。
phpでの403,404ページの作り方
では具体的な作成方法について。
PHPと.htaccessを知っている方には特に難しいことはなく、.htaccess に以下のように記述する、ということはご存知のとおり
.htaccessの内容
ErrorDocument 404 /error/404.php
ErrorDocument 403 /error/403.php
/error/ ディレクトリを作って 404.php, 403.php には以下のように記述すればよいです。
404.php のコード
<?php
// HTTP404ヘッダー
header("HTTP/1.0 404 Not Found");
$error_code = '404 Not Found';
require_once('errorpage.php');
?>
403.php のコード
<?php
header("HTTP/1.0 403 Forbidden");
$error_code = '403 Forbidden'; // Specify the error code
require_once('errorpage.php');
?>
403.php, 404.php を /error/ 以下に置きます。
で、403,404.php から読み込んでいる errorpage.php に好きなHTMLの内容を書いて出しましょうというコードになってます。
errorpage.php はたとえば以下のようにしておけば、403,404の場合にも同じように表示されて管理の手間が省けるということでサンプルではそうなっています。
errorpage.php
<html>
<body>
<a href="/">トップページに戻る</a>
<!--
ブラウザによっては一定のバイト数以上出力しないとブラウザデフォルトの404ページが表示されてしまうので注意が必要です。
IEの場合は、512バイトが最小バイト数になっているので、書くことがない場合は、このようにコメントをつけてバイト数を増やすこともできます。
ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列
ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列
ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列 ダミー文字列
-->
</body>
</html>
このファイルも /error/ ディレクトリにおきます。
以下のようなファイル構成になります。
/error/404.php
/error/403.php
/error/error.php
これでエラーページの設定は完了になります。
何を表示するか?アクセス情報をどうするか?
で、上記errorpage.phpはデフォルトのapacheよりはマシにしても、あまりにも簡素ですね。
ということで、以下のようなものを表示するとイメージ的にも分かりやすいかも、という例が示されています。
ホーム、ブログ、このページについて、連絡先、サイトマップといった最低限の情報が表示されていれば親切ですね。
SmashingMagazineなどでも「404 Error Pages, One More Time | Design Showcase」のような404ページデザインのショーケースが公開されていてデザインの参考にできそうです。
記事元のページでは、更にエラーページにアクセスがあった際にメールをするとよい、としていて、そのメール送信のPHPコードサンプル例も公開されています。
リファラーやエージェントも記録されているメールを送れば、検索エンジンにもしインデックスされている内容がなんらかの状況によって消えている場合であっても即座に検地することができ、サイトの改善に努めることができそうです。
アクセスが多いサイトの場合、エラーページへのアクセス毎にメールが届くというのはちょっとあぶないですが、アクセスがそれほど多くないサイトの場合、更にエラーページへのアクセスも少ないですから、毎回メール送っちゃってもよいのかもしれません。
アクセスの多いサイトなら、アクセスログ等からエラーページへのアクセスの統計をとって数時間間隔などでメールしてくれるものを作るのもいいのかもしれませんね。
考えてみると、アクセスの多いサイトほど、エラーページへのアクセス数というのはバカに出来ないもので、トラフィックを逃してしまっているかもしれず、こうした対処をちゃんとすべきなのかも。
というわけで、今更ではありますが、早速このブログも作ってみました。
やってないという方は、数分で出来るのでやってみましょう。
最新のブログ記事(新着順)
- 美しいメッシュグラデーションをCSSで簡単に取得できる「MSHR」
- TailwindCSSなサイトで使える100以上のアニメーションエフェクト「animata」
- SVG形式のテック系企業のロゴを簡単にゲットできる「Svgl」
- 統一感のある色味を一括生成できるツール「The good colors」
- くちばしフォント【商用可】
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 過去のエントリ