【问题标题】:CodeIgniter routes not taking effectCodeIgniter 路由不生效
【发布时间】:2016-07-02 18:08:32
【问题描述】:

我刚刚在我的 XAMPP htdocs 中将一个 codeigniter 项目从一个文件夹复制到另一个文件夹。这两个项目包含完全相同的代码,只是在不同的目录中。

在复制的项目中,default_controller 工作正常,但我的路由都不起作用。

我的路线:

$route['default_controller'] = 'home';
$route['404_override'] = '';
$route['dashboard'] = 'dashboard';

索引文件位于 localhost/project/www

如果我转到 localhost/project/www/dashboard,我会得到 404。

但如果我这样做:

$route['404_override'] = 'dashboard';

然后当我转到 localhost/project/www/dashboard(或任何其他路径,当然会给出 404)时,仪表板控制器会正确加载

问题不在 .htaccess 文件中,因为它只是通用的:

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

就像我说的,代码刚刚从一个目录复制到另一个目录。关于是什么阻止我的路线正常工作的任何想法?我错过了什么吗?

编辑

设置 404_override 并再次将其删除后,路由再次神奇地工作了。一切顺利。

如果有人能解释为什么会发生这种情况,那可能会帮助下一个遇到这种情况的人。但对我来说,问题已经解决了。

【问题讨论】:

    标签: codeigniter routes xampp


    【解决方案1】:

    好的,问题是我使用大写作为复制项目的名称,但试图在识别这两者的系统上使用小写访问它。

    所以,笨蛋

    【讨论】:

      【解决方案2】:

      我认为问题是你正在这样做

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

      你试试吧

      RewriteEngine On
      RewriteBase /www/
      RewriteCond $1 !^(index\.php|resources|robots\.txt)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?/$1 [L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-30
        • 2010-11-20
        • 2011-07-08
        相关资源
        最近更新 更多