2010-12-18 5 views
1

Ich stoße auf Probleme mit CakeOps Anwendung läuft mit CentOs. Ich habe keine Einstellung in der Config andere Standard ändern, als hinzugefügt eine Datei unter conf.d, die Inhalte wie:Apache und Cakephp Anwendung

NameVirtualHost *:80 
<VirtualHost *:80> 
    DocumentRoot /var/www/portal/ 
    ServerName abc.mydomain.com 
</VirtualHost> 

Bei Zugriff auf Startseite funktioniert also app.mydomain.com zeigt sich aber keiner der CSS, JS- und img-Dateien werden geladen, die sich unter der Standardstruktur befinden, dh/var/www/portal/app/webroot/img /var/www/portal/app/webroot/css /var/www/portal/app/webroot/js

Also habe ich versucht, sie unter /var/www/portal/ bewegen und das funktionierte für die Homepage, aber klicken Sie auf einen Link auf der Homepage tut nur 404. eg Wenn Link ist abc.mydomain.com/test Im Apache-Protokoll sehe ich die Fehler als 'File Does not exist : /var/www/portal/test'. Es scheint, dass Apache die Anfrage nicht an CakePHP sendet, um die URL zu verarbeiten.

Was könnte hier falsch sein? Höchstwahrscheinlich mit den Apache-Sicherheitseinstellungen, aber ich bin mir nicht sicher, wo ich es ablegen soll.

+0

Der erste Schritt besteht darin, die URLs zu suchen, in die die Ressourcen geladen werden. Wie sehen Sie aus? –

+0

Pekka, Danke. Etwas mehr Hilfe hier bitte. Wie mache ich das? – aboxy

Antwort

1

Is your AllowOverride set to all? Nur dann funktionieren die CakePHP-Rewrite-Anweisungen, die in .htaccess-Dateien enthalten sind. Alternativ können Sie sie in die Konfiguration des virtuellen Hosts verschieben und zum Funktionieren bringen.

+0

Sie wissen, dass ich das vorher versucht habe, aber nicht funktioniert habe, aber ich bin mir sicher, dass ich etwas falsch gemacht habe. – aboxy

+0

Das war die richtige Lösung. AllowOverride All hat das Problem gelöst. Danke Nigel. – aboxy

+0

Gut zu wissen, dass es funktioniert :) – Nigel

0

Ok, das ist ein häufiger Fehler. Sie sollten aktivieren "umschreiben" -> Modul neu schreiben. (Dies ist natürlich ein PHP-Modul). In ubuntu schreiben Sie normalerweise sudo a2enmod rewrite. Auf CentOS-Befehl prüfen.