【发布时间】:2015-04-02 19:34:52
【问题描述】:
CI 3.0 有问题
如果我将默认控制器留在 routes.php 文件“欢迎”中,一切正常。
但是如果我改变它,即“主要”CI 开始抛出 404 错误
第一步的主控制器与 Welcome 相同。我只是复制文件。重命名,更改类名(当然),并在index() 加载视图。
有什么建议吗?
我也忘了告诉 在 wamp localhost 上一切正常.. 但在服务器中不是.. :/
还有一件事... 即,如果我尝试访问 mydomain.com/welcome - 工作, 如果我尝试去 mydomain.com/main - 不是。 即使我将路由默认控制器改回欢迎
我的 main.php 文件:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Main extends CI_Controller {
function index(){
$this->load->view('welcome_message');
}
}
我的 routes.php 文件:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['default_controller'] = 'main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
【问题讨论】:
-
我想你忘了把类名改成
Main extends CI_controller或文件名main.php。用问题写你的主控制器。 -
你能提供你的控制器和路由文件的代码吗?
-
很遗憾,但我没有忘记更改类名.. :/ 正如我所说的,这对我来说很奇怪,因为在我的本地主机中一切正常.. :/ 但后来我将所有文件复制到服务器......它不工作......除非我把欢迎作为默认控制器在 routes.php
-
控制器的文件名必须以大写字母开头。在您的情况下,Main.php。 codeigniter.com/userguide3/changelog.html:«更改了文件命名约定(类文件名现在必须是 Ucfirst,其他所有内容都必须小写)。 »
-
天啊!! :// 谢谢!!! :)) 我习惯了文件名中的简单小写字母,我没有尝试过.. :) 非常感谢! :)
标签: php codeigniter codeigniter-3