Когда для отладки core.php установлено значение 1 или 2, и я перехожу к корню моего сайта cakephp, я получаю ожидаемый результат, обслуживаемая страница верна, т. Е. Действие PagesController default () -> home.ctp
Однако, если я изменяю отладку на 0, я получаю следующую ошибку:
Ошибка: запрошенный адрес '/' был
не найден на этом сервере.
Мой файл router.php содержит:
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'));
Я попытался удалить все файлы кэша и удалить куки-файлы CAKE, и другие действия работают, как ожидается, при непосредственном посещении, например, / user, / groups и т. Д. Проблема возникает только при попадании в корень '/'.
Я использую cakephp 1.3.4 и ACL + Auth.
Редактировать ** Я включаю код для функции default () из 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));
}