404 Not Foundページのカスタマイズ方法についてです。
CakePHPはデフォルトですと、404 Not FoundのページはCakePHPのレイアウトになってしまいます。
CakePHPを利用しているのがユーザーにバレバレで、格好良くありません。
それでは、404エラーページのデザインを変える方法です。
まず、コントローラー側の記載についてです。
ここでは、コントローラーで取得するDBデータの配列を「$sample」とします。
$sampleに何も帰ってこなかったときに、エラーページを出すように、コントローラー側で指定します。
1 2 3 |
if(empty($sample)){ $this->cakeError('error404'); } |
これでエラーの場合は該当するViewファイルではなく、
404エラーページが出るようになります。
次に、CakePHPのコアファイルにある「error404.ctp」を「app/views/errors/」に移動します。
上記から「error404.php」をコピーして、
自分のCakePHPのアプリケーションファイルが以下の場合、下記のように配置します。
これで、こちらのファイルが利用されるようになるので、
この中身を書き換えれば表示される内容が変わります。
上記で表示される文字列などは変更出来ますが、デザインは変更できません。
デザインを変更するには、まず、「error.php」というファイルを作成し、以下の内容を記述します。
1 2 3 4 5 6 7 8 9 |
<?php class AppError extends ErrorHandler { function error404($params) { $this->controller->layout = "error"; parent::error404($params); } } ?> |
自分のCakePHPのアプリケーションファイルが以下の場合、
/home/me/ドメイン/
「error.php」は
/home/me/ドメイン/error.php
という形になります。
つまり、controllersやviewフォルダと同じ階層にファイルを置くということです。
さらに、アプリケーションファイルのviews/layoutsに「error.ctp」ファイルを作成し、配置します。
/home/me/ドメイン/views/layouts/error.ctp
これで、作業は終わりです。
『参考』
以下のページを参考にさせて頂きました。
YARETOKO
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)
関連記事一覧
- [CakePHP2]404 Not Found エラーレスポンスの表示
- [CakePHP] Pagenatorでパラメータを追加する方法
- [CakePHP]エラー対処 URL rewriting is not properly configured on your server.
- バーチャルホスト(複数ドメイン運用)で.htaccessを使えるようにする方法
- 複数ドメインでの運用(バーチャルホスト) Apache,httpd.conf
- CakePHP トップページのコントローラーについて(トップページ表示)
- [CakePHP]paginatorのURLにPaginator以外のパラメタを追加する方法
- CakePHPをXserverにインストールする方法
- [XAMPP] .htaccess設定
- Apacheの設定(Webサーバーの設定) Linux・CentOS