CakePHPのcake/libs/viewを見ると、errorsというフォルダの中にerror404.ctpというファイルがある。これをapp側のview/errors下に置くと、404エラーが出た時に、error404.ctpの内容が表示される。
ただし、これだけだとlayoutはdefault.ctpが呼ばれてしまうので、エラー用のページのレイアウトを他のページと完全に分けたい場合なんかは、views/layoutsに新しいctpファイルを作る必要がある。たとえばerror.ctpとか。
error.ctpを作ったら、今度はapp直下にerror.phpファイルを作成する。ファイルの中身はこんな感じ。
class AppError extends ErrorHandler {
function error404($params) {
$this->controller->layout = 'error';
parent::error404($params);
}
}
ちょいとこじゃれた404エラーページを作りたければ、この辺のデザインを参考にすると良いかもしれない。個人的には本が開かれていて404ページだけ「The page cannot be found」って書いてあるデザインが良いと思う。
404エラーって、普通にサイトを閲覧する分にはそう滅多に見られるようなページでもないと思うんですけど、そういうところのデザインにこだわりを持って凝ったデザインにしているサイトとかって、かっこいいと思います。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。