Frage

ich habe: brandneue saubere Kopie von Kohana 2.3.4 (versuchten 2.4 RC1 auch), einen Controller 'Index' auf einem Debian mit Apache 2.2.9 genannt.

Wenn i-Typ-Adresse wie http: // localhost / kohana / index / index i erwarten Controller ‚index‘, Aktion ‚index‘ ausgeführt werden. Es funktioniert auf Windows localhost, arbeitet auf Shared-Hosting. Aber nicht auf meinem Debian-Server.

Ich habe gedebuggt und gefunden, dass $ _SERVER [ 'PATH_INFO'] nicht korrekt ist. Es läßt den ersten ‚Index‘ in der URI, also kann ich, indem Sie auf ‚index / index / index‘ auf ‚Index / Index‘ bekommen. Also das ist, was ich beheben möchten.

Weiß jemand, wie dieses Problem gelöst werden könnte?

War es hilfreich?

Lösung 2

Es stellte sich heraus mod_negotitaion zu sein. Es verdammt mod umschreibt meine / index / Index /index.php/index, weil es dachte, ich habe verpasst .php

Wer also dieses Problem auftritt, nur mod_negotiation deaktivieren und eine gute Zeit haben

Andere Tipps

Ich vermute, es kommt tatsächlich in der .htaccess-Datei oder Apache config nicht speziell Kohana. Vor allem, stellen Sie sicher, dass die example.htaccess-Datei, die mit Kohana kommt, wird in .htaccess umbenannt, und Sie können Apache neu zu starten.

Wenn Sie .htaccess verwenden das index.php Teil des Weges zu verstecken, um zu sehen, was die RewriteBase Einstellung ist:

RewriteBase /kohana/

Wenn Sie es in der Wurzel Ihres Web-Servers (wie in der Produktion, oder einen separaten Anschluss für localhost verwenden) installiert, dann sollte es geändert werden:

RewriteBase /

Dies ist mein eigener persönlicher häufigste Fehler in neue Standorte und Entwicklungsumgebungen einrichten, durch die Art und Weise. Dies gilt auch für CodeIgniter und andere verwandte PHP-Frameworks.

Gibt es in Ihrem Apache auf dem Debian-Server installiert tatsächlich mod_rewrite haben? Es wäre gut, das zu bestätigen. Hier ist ein Weg, um tun, dass .

Weitere Diagnose zu sehen, ob es Kohana oder Apache Schuld ist in dem index.php Teil des Weges umfasst das Hinzufügen zurück. In Ihrem Fall versuchen http: //localhost/kohana/index.php/index . Schließlich habe ich mit Sarfraz oben, dass die Benennung des Controllers „Index“ für Ärger nur betteln vereinbaren. Meine eigene Konvention ist es „zu Hause“ nennen und die Standard-Route entsprechend zu bearbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top