2013-03-05 9 views
5

Ich erhalte diesen Fehler gefunden ... Sie fragen sich, was das bedeutetCakePHP - Regler nicht

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

irgendwelche Vorschläge?

Antwort

6

Es scheint, dass entweder das Verzeichnis "css" in Ihrem Webroot oder ein falsch konfiguriertes mod_rewrite fehlt.

Die standardmäßige CakePHP mod_rewrite-Konfiguration leitet nicht vorhandene Verzeichnisse/Dateien zu Controllern und Aktionen, z.

/some/path 

Wird zu

SomeController::path() 

weitergeleitet Wenn Sie nicht ein 'css' Verzeichnis in Ihrem Webroot, dann;

/css/ 

Wird weitergeleitet werden:

CssController::index() 

Da jedoch gibt es keine solche Steuerung in der Anwendung, wird es diesen Fehler geben.

+0

Für diejenigen Hosts, die .htaccess nicht verwenden, beachten Sie, dass das Root aus der Web-Server-Perspektive das WEBROOT-Unterverzeichnis sein muss, nicht die Tower-Installation. –

1

Ein kleiner Tipp für das Debuggen dieses Problems.

thaJeztah hat absolut Recht, warum dieser Fehler auftritt, aber zu Debugging-Zwecken ist es etwas schwierig zu wissen, wo der verursachende CSS-Pfad dies verursacht.

Wenn Sie $this->Html->css('path') verwenden Ihre CSS-Dateien zu laden (natürlich mit dem richtigen Pfad), und Sie haben Ihre CSS-Ordner innerhalb Webroot wie bereits in der anderen Antwort erwähnt, dann überprüfen Sie Dateien css.

In meinem Fall debuggte ich mit firebug, aber alle meine .css wo laden, gab es keinen roten Fehler, der angibt, dass eine CSS-Datei nicht geladen werden konnte (was könnte das Problem verursachen). So überprüfte ich meine CSS-Dateien und die URLs für den Hintergrund, wo auf einen nicht vorhandenen Ordner zeigt

Beispiel:

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

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

So klar das Bild nicht geladen wurde, aber ich habe nicht bemerkt, weil es nicht war ein Element, das oft instanziiert wurde. Resolving dieser URL() Verweis wurde los von der CssController Fehler (und auch verwandte this other annoying error in Bezug auf multiple request for the same page only in some browsers los (ist es nicht toll, wenn Sie diese Dinge debuggen müssen ...)).

Ich hoffe, das hilft jemandem.

+0

Diese Lösung fügt viel für mich hinzu, danke. Ich hatte ein Problem mit fehlenden Dateien auf meinem Server. –