Wenn core.php debug auf 1 oder 2 gesetzt ist und ich zum root meiner cakephp-seite browse ich bekomme erwartetes ergebnis, die seite serviert ist korrekt, dh , PagesController default() Aktion -> home.ctpcakephep routing - pages_controller/home.ctp fehler nur auf debug = 0
Allerdings, wenn ich debug auf 0 ändern erhalte ich die folgende Fehlermeldung:
Error: The requested address '/' was not found on this server.
Meine router.php Datei enthält:
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
/**
* ...and connect the rest of 'Pages' controller's urls.
*/
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
Ich habe versucht, alle c zu löschen ache-Dateien und das Entfernen von CAKE-Cookies und andere Aktionen funktionieren wie erwartet, wenn sie direkt besucht werden, z. B./user,/groups usw. Problem tritt nur auf, wenn Sie den root '/' treffen.
Ich benutze CakePHP 1.3.4 und ACL + Auth.
bearbeiten ** Ich schließe den Code für die Standard() Funktion von pages_controller.php
/**
* Displays a view
*
* @param mixed What page to display
* @access public
*/
function display() {
$path = func_get_args();
$count = count($path);
if (!$count) {
$this->redirect('/');
}
$page = $subpage = $title_for_layout = null;
if (!empty($path[0])) {
$page = $path[0];
}
if (!empty($path[1])) {
$subpage = $path[1];
}
if (!empty($path[$count - 1])) {
$title_for_layout = Inflector::humanize($path[$count - 1]);
}
$this->set(compact('page', 'subpage', 'title_for_layout'));
$this->render(implode('/', $path));
}
Ist der PagesController :: display() in Ihrer ACL/Auth zulässig? Haben Sie "debug ifs" in Ihrem Code? –
Ich habe folgendes in meiner app/app_controller.php: $ this-> Auth-> allowedActions = array ('display', 'logout'); und der einzige Ort, dass config :: write ('debug', ...) verwendet wird, ist in core.php – Owen