そこで問題が2つ出てきました。
以下問題点、
1、404エラーページのカスタマイズが出来ない。
2、GoogleChromeなどでページのソースを表示するとCakePHPのfavicon.icoが表示されてしまう。
「1」について試した事、
cake/libs/view/errors/error404.php
をapp/views/errors/に配置する。
app/error.phpを作成、中身は以下
<?php
class AppError extends ErrorHandler {
function error404($params) {
$this->controller->layout = "error";
parent::error404($params);
}
}
?>
layoutにerror.ctpを配置
適当なURLを打ち込んでも普通にブラウザの404ページが表示されてしまいます。フレームワークが反応していない?
少しでも何か気がついた方は情報を共有ください。
宜しくお願い致します。
参考にしたページ
http://mick.blog16.jp/index.php/main/2008/10/08/cakephp_404_not_found_custom
テンプレートファイル名はerror404.ctp
スクリプトファイル名はapp_error.phpで中身は下記だけ
class AppError extends ErrorHandler {
$this->controller->layout = 'error';
}
構成は下記のような感じでしょうか?
app/views/errors/error404.ctp
app/views/layout/error.ctp
app/app_error.php
Apacheの設定でmod_rewriteは有効にしていますか?
mod_rewriteが有効にされている場合、Apacheは
/(cakephpのディレクトリ)/index.php/○○○○
を表示しますが、無効にされている場合は
/(cakephpのディレクトリ)/○○○○
等と存在しないファイルを表示してしまい、ブラウザの404ページが表示されてしまいます。
普通なら.htaccessで設定されていると思うのですが・・・
テンプレートファイル名はerror404.ctp
スクリプトファイル名はapp_error.phpで中身は下記だけ
class AppError extends ErrorHandler {
$this->controller->layout = 'error';
}
これでOKです
テンプレートファイル名はerror404.ctp
スクリプトファイル名はapp_error.phpで中身は下記だけ
class AppError extends ErrorHandler {
$this->controller->layout = 'error';
}
これでOKです
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | カエル | 16回 | 5回 | 0回 | 2010-05-09 09:58:39 |
見捨てないでください。