代码点火器控制器文件名不能以大写字母开头


Code-igniter controllers file name can not start with capital letter

我之前使用小写字母作为控制器文件名,

但是,最近将文件移动到需要控制器名称以大写开头的其他服务器

====

===========================================

这是重命名示例:

文件名: 主页.php

$route['default_controller']:"家";

链接: http://example.com/index_folder/

====

============================================

它显示的错误

Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.

当我将路线更改为

$route['default_controller']:"家";

它仍然显示相同的错误,

只有我去

成功
http://example.com/index_folder/Home/

如何解决?感谢您的帮助

更新

下面是项目文件夹根目录下的 htaccess 文件:

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

重命名的原因是如果我的控制器是小写的,新服务器似乎有问题

Linux 区分大小写,请保持文件名和类名相同,然后重试。它会起作用。

相同的代码在Windows上可以正常工作,但在Linux上会出现例外。

根据文档,

class Home extends CI_Controller {
        public function index()
        {
                echo 'Hello World!';
        }
}

然后将文件保存到应用程序/控制器/目录。

重要:-

该文件必须称为"主页.php",大写字母为"H"。

现在使用类似于以下内容的 URL 访问您的网站:

example.com/index.php/home/

当 URI 不存在时,可以告诉 CodeIgniter 加载默认控制器,就像仅请求站点根 URL 时一样。

要指定默认控制器,请打开application/config/routes.php文件并设置此变量:

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

其中"home"是要使用的控制器类的名称。

如果您现在加载主索引.php文件而不指定任何 URI 段,则默认情况下您将看到"Hello World"消息。