cakephp 路由 - pages_controller/home.ctp 错误仅在 debug=0 时

标签 cakephp

当 core.php debug 设置为 1 或 2 并且我浏览到 cakephp 站点的根目录时,我得到了预期的结果,提供的页面是正确的,即 PagesController default() action -> home.ctp

但是,如果我将 debug 更改为 0,则会出现以下错误:

Error: The requested address '/' was not found on this server.



我的 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 cookie,并且其他操作在直接访问时按预期工作,例如/user、/groups 等。问题仅在点击根“/”时发生。

我正在使用 cakephp 1.3.4 和 ACL + Auth。

编辑 ** 我包含了 pages_controller.php 中 default() 函数的代码
/**
 * 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));

    }

最佳答案

好吧,答案简单到令人尴尬:在home.ctp中有以下代码:

if (Configure::read() == 0):
    $this->cakeError('error404');
endif;

Configure::read() 默认读取 var debug - 因此如果 debug 设置为 0,它会抛出此错误。

感谢本杰明让我走上正轨。蛋糕很棒,同时也很令人生气,直到您了解基础知识!

关于cakephp 路由 - pages_controller/home.ctp 错误仅在 debug=0 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794063/

相关文章:

php - CakePHP 分页,条件为 has_many

php - Ajax 请求检查在 AppController Cakephp 中不起作用

angularjs - CORS - CakePHP 不接受 AngularJS JSON 请求

CakePHP 3 - 管理路由到插件不起作用

php - Cakephp 在 HABTM 关系中保存额外的属性

php - 如何从 textarea 字段中提取电子邮件 ID

php - CakePHP 和 GoogleMapsHelper : How do I load markers from my DB?

cakephp - Cakephp 中的 Paypal 集成

php - CakePHP - 从同一模型中的另一个函数调用模型函数

cakephp - 使用 CakePHP 和河豚更改密码