我之前使用小写字母作为控制器文件名,
但是,最近将文件移动到需要控制器名称以资本
开头的其他服务器=========================================
以下是重命名示例:
文件名: Home.php
$ route [' default_controller']:" home";
链接: 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']:" Home";
它仍然显示相同的错误,
如果我去
,那只会成功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>
重命名的原因是,如果我的控制器是小写的
,新服务器似乎有问题答案 0 :(得分:0)
Linux区分大小写,保持文件名和类名相同,然后重试。它会起作用。
相同的代码在Windows上可以正常工作,但在Linux上会出现异常。
答案 1 :(得分:0)
class Home extends CI_Controller {
public function index()
{
echo 'Hello World!';
}
}
然后将文件保存到 application / controllers / 目录。
重要: - 强>
该文件必须称为“Home.php”,大写字母为“H”。
现在使用与此类似的网址访问您的网站:
<强> example.com/index.php/home / 强>
当URI不存在时,可以告诉CodeIgniter加载默认控制器,就像只请求您的站点根URL一样。
要指定默认控制器,请打开application/config/routes.php
文件并设置此变量:
$route['default_controller'] = 'home';
其中'home'是您要使用的控制器类的名称。
如果您现在加载主index.php文件而未指定任何URI段,默认情况下您将看到“Hello World”消息。