我有一个包含以下
的application / controller / login.php文件class Login extends Controller {
function Login()
{
parent::Controller();
}
function index()
{
$this->mysmarty->assign('title', 'Login');
$this->mysmarty->assign('site_media', $this->config->item('site_media'));
$this->mysmarty->display('smarty.tpl');
}
}
我的路线定义如下所示:
$route['default_controller'] = "welcome";
$route['login'] = 'login';
$route['scaffolding_trigger'] = "";
问题是,当我尝试访问http://localhost/myapp/login时,我一直收到404。我做错了什么?我已经检查了CI路线文档,但无法发现任何内容。
答案 0 :(得分:7)
这应该没有任何问题 - 没有路线会有效吗? 此外,您是否正确设置了.htaccess(即http://localhost/myapp/index.php/login正在工作)
答案 1 :(得分:2)
要记住的另一点是,如果您将“enable_query_strings”设置为true并且未使用.htaccess mod_rewrite规则:
在config / config.php中:
$config['enable_query_strings'] = TRUE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
正确路由您的请求的网址如下所示:
http://localhost/myapp/index.php?c=login
答案 2 :(得分:0)
如果您尚未使用index.php
文件从应用中删除.htaccess
,那么这就是另一个球类游戏。但你能做的就是:
设置一个不是controller
文件的默认welcome
,如果您希望将欢迎文件作为默认文件,请使用此链接
http://localhost/myapp/index.php/login
请记住,这种方式仅在使用index.php
文件未删除.htaccess
文件时才有效。
同时打开apllication/config/config.php
并将此代码用于baseurl
$config['base_url'] = 'http://localhost/myapp';
应该总是这样做。