CodeIgniterで独自404エラーページを設置する方法

リンク切れや直接URI指定でのページ遷移などで表示される404ページ。ここで詳しく説明するまでもなく、ユーザビリティ的に重要です。訪問者に代替の遷移先を提示してあげれば、PVやコンバージョンにも影響してきます。

設置するファイルは2つ。編集するファイルは1つです。

  • application/controllers/error.php
  • application/views/error/404.php
  • application/config/routes.php

コントローラ

<?php
class Error extends CI_Controller {

	/**
	 * コンストラクタ
	 */
	function __construct(){
		parent::__construct();
	}

	/**
	 * エラー画面を表示
	 */
	function error_404() {
		$this->output->set_status_header('404');
		$this->load->view('error/404');
	}
}

MY_Controllerを作っていれば、それを継承しても良いでしょう。

ビュー

通常のビューと同じ作り方です。
以下とか参考にクールでユーザビリティ溢れるページを作ってください。
カスタマイズされたクールな404ページ集:phpspot開発日誌
404 Research Lab

ルーティング

$route['404_override'] = 'error/error_404';

「クラス/メソッド」での指定ですね。下記にある通り、

application/errors/error_404.php にあるデフォルトの error_404.php ファイルを読み込む show_404() 関数には影響しません

http://codeigniter.jp/user_guide_ja/general/routing.html