勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CodeIgniter4で独自の404ページを表示する方法

  PHP CodeIgniter

CodeIgniter4にて存在しないページをブラウザから開くと、デフォルトの状態でも404ページが表示される。こちらを独自の404ページが表示されるようにしたい。また、当然だけどHTTPステータスコードも404を返すように設定したい。以下に対応方法をメモ。

 

リファレンス

404 Override

https://codeigniter4.github.io/userguide/incoming/routing.html#override

setStatusCode

https://codeigniter4.github.io/userguide/outgoing/response.html#CodeIgniter\HTTP\Response::setStatusCode

 

ソースコード

/app/Config/Routes.php

#404テスト
$routes->set404Override(static function () {
    $response = CodeIgniter\Config\Services::response();
    $response->setStatusCode(404); 
    echo view('404');
});

/app/Views/404.php

<h1>404</h1>

 

その他

setStatusCodeを指定しない場合

以下を指定しない場合、ステータスコードが200になる点に注意。

$response = CodeIgniter\Config\Services::response();
$response->setStatusCode(404);

 

参考サイト

https://forum.codeigniter.com/showthread.php?tid=87931

 - PHP CodeIgniter

  関連記事

CodeIgniter4で簡易版ログインシステムの実装方法(管理画面向け)

CodeIgniter4で管理画面向けの簡易版ログインシステムを作成したい。通常 ...

CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法

以前CodeIgniter4.4.4で簡易的なお問い合わせページを作成したが、今 ...

CodeIgniter3でログをファイルに出力する方法

Codeigniter3でエラーログの設定を行い特定のファイルに出力させ当該ログ ...

CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさせる方法

CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさ ...

CodeIgniter4でGET / POSTパラメータの受け取りとルーティング設定方法

CodeIgniter4.4.4でページを開いた際にGET / POSTパラメー ...