5

このエラーが何度も発生します...これが何を意味するのか疑問に思っています

Error: [MissingControllerException] Controller class CssController could not be found.

助言がありますか?

4

3 に答える 3

6

Webroot に「css」ディレクトリがないか、mod_rewrite の設定が間違っているようです。

デフォルトの CakePHP mod_rewrite 設定は、存在しないディレクトリ/ファイルをコントローラーとアクションに「ルーティング」します。

/some/path

にルーティングされます

SomeController::path()

ウェブルートに「 css」ディレクトリがない場合は、次のようになります。

/css/

ルーティング先:

CssController::index()

ただし、アプリケーションにはそのようなコントローラーがないため、このエラーが発生します。

于 2013-03-05T18:44:28.300 に答える
1

この問題をデバッグするためのちょっとしたヒント。

そのエラーが表示される理由については thaJeztah は完全に正しいですが、デバッグ目的では、これを引き起こしている問題のある css パスがどこにあるかを知るのはちょっと難しいです。

cssファイルを(明らかに正しいパスで)ロードするために使用$this->Html->css('path')し、他の回答ですでに述べたようにwebroot内にcssフォルダーがある場合は、cssファイルを確認してください。

私の場合、firebug でデバッグしましたが、すべての .css がロードされ、css ファイルをロードできなかったことを示す赤いエラーはありませんでした (これがこの問題の原因である可能性があります)。だから私はcssファイルと存在しないフォルダを指している背景のURLをチェックしました

例:

//Webroot folder dist
-- css
-- extras
   --img

mydiv {
    background: #626262 url(../img/web_top_bg.png);
}

明らかに画像がロードされていませんでしたが、頻繁にインスタンス化される要素ではなかったため、私は気づきませんでした。その url() 参照を解決すると、CssController エラーが解消されました (また、関連して、一部のブラウザーでのみ同じページへの複数の要求に関するこの他の厄介なエラーも解消されました (これらをデバッグする必要がある場合は素晴らしいことではないでしょうか. ..)))。

これが誰かに役立つことを願っています。

于 2014-08-29T20:03:50.993 に答える