【问题标题】:Cakephp 2.4.5 Default Controller not loadingCakephp 2.4.5 默认控制器未加载
【发布时间】:2016-11-21 23:18:52
【问题描述】:

我是 cakephp 新手,试图将默认控制器加载为页面

这是我的路线:

Router::redirect ('/', array('controller' => 'pages', 'action' => 'display'));

Router::connect('/pages/**', array('controller' => 'pages', 'action' => 'display'));

当我运行 "http://localhost/project/index.php" 时,它工作正常,但尝试使用 "http://localhost/project/" 它不加载默认控制器(页面)

没有 htaccess 和使用 htaccess 会出现同样的问题。

这是错误:

找不到控制器类 ProjectController。

错误:

未找到请求的地址“/project/index.php/project/” 这个服务器。

【问题讨论】:

  • 你改变了.htaccess文件
  • 是的,我用 htaccess 和没有 htaccess 进行了测试,但没有在 root "/" 上运行默认值
  • 这是我的 htaccess (webroot): RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php ?url=$1 [QSA,L]
  • 跟 cakephp 自带的不一样
  • .htaccess 不是问题 我添加了默认 htaccess 但没有运行。

标签: php cakephp cakephp-2.4


【解决方案1】:

解决了

在应用控制器中添加了 baseUrl:

function beforeRender(){
  $this->set('baseUrl', 'http://'.$_SERVER['SERVER_NAME'].Router::url('/'));
}

从 Core.php 中删除 App.baseUrl :

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

现在它可以正常工作: http://localhost/app/

【讨论】:

    【解决方案2】:

    根据 cakephp 手册:

    http://book.cakephp.org/3.0/en/development/routing.html#redirect-routing

    你应该试试

    Router::scope('/', function ($routes) {
    $routes->redirect(
        '/home/*',
        ['controller' => 'Articles', 'action' => 'view'],
        ['persist' => true]
        // Or ['persist'=>['id']] for default routing where the
        // view action expects $id as an argument.
    );
    })
    

    而不是Router::redirect。您应该尝试一次此方法,可能会解决问题。

    【讨论】:

    • 哦!我没有专注在那里!同时,以上答案可能不会影响版本。我对此了解不多。
    【解决方案3】:

    你在子目录下运行,所以你应该设置RewriteBase:

    <IfModule mod_rewrite.c> 
        RewriteEngine On 
        RewriteBase /project/
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(.*)$ /project/index.php?url=$1 [QSA,L] 
    </IfModule
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2017-02-14
      • 2014-10-30
      相关资源
      最近更新 更多