【问题标题】:CodeIgniter - Default controller not loading automaticallyCodeIgniter - 默认控制器不会自动加载
【发布时间】:2014-02-17 12:07:37
【问题描述】:

我设置了默认控制器:

$route['default_controller'] = "Home";

但是,当我转到 http://mydomain.com/ 时,它显示 404 Page Not Found,但是当我转到 http://mydomain.com/Home 时,控制器加载正常。可能是什么问题呢?我已经绞尽脑汁好几个小时了。如果需要,我的 htaccess 是 posted here。谢谢!

【问题讨论】:

  • 您的 .htaccess 文件看起来不错。试试像 $route['default_controller'] = "home"; 这样的小写字母,看看是否有区别

标签: php .htaccess codeigniter


【解决方案1】:

原来我的问题有点不相关。我不得不将我的默认控制器 php 文件重命名为小写,并将控制器类名重命名为小写,一切都开始工作了。当 CI 查找默认控制器文件时,它会以小写形式搜索文件;如果我将控制器文件命名为“Home.php”而不是“home.php”,那么 CI 在 Linux 上会丢失它(因为 Linux 文件系统区分大小写)。

【讨论】:

    【解决方案2】:

    您的路由没有问题,问题在于您的 htaccess 文件。尝试删除

    ErrorDocument 404 /index.php
    

    【讨论】:

    • 谢谢,但它仍然做同样的事情。默认控制器在明确指定时工作,但在尝试加载 http://mydomain.com/ 时不会加载。
    【解决方案3】:

    您可能有一些 .htaccess 问题。 托盘这样:

    .htaccess

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    

    config.php

    $config['base_url'] = 'www.homepage.com';
    $config['index_page'] = '';
    

    routes.php

    $route['default_controller'] = "yourcontrollername";
    $route['404_override'] = '';
    

    【讨论】:

      【解决方案4】:

      如果没有来自您的配置/控制器的任何其他信息和代码,我建议检查 config/config.php 是否有这些(在正常情况下两者都应该为空):

      $config['base_url'] = '';
      $config['index_page'] = '';
      

      IIRC,我见过类似的问题,它与这些配置变量有关。希望这对您有所帮助。

      【讨论】:

        【解决方案5】:

        我确定这个 .htaccess 解决了所有 ubuntu 用户...

        DirectoryIndex index.php
        RewriteEngine on
        RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
        

        【讨论】:

          【解决方案6】:

          我设置了默认控制器:

          $route['default_controller'] = "home";
          

          它对我有用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-06-15
            • 1970-01-01
            • 1970-01-01
            • 2014-10-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多