请原谅我,如果这是一个“问题”,或者如果您需要更多信息来回答,我是CodeIgniter的新手,仍然没有找到一些最佳实践的东西......
在routes.php
我$route['default_controller'] = "home";
,所以我的default_controller
显然是“家”。
我的home.php
控制器里面有:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct() {
// blah
}
function index(){
// blah
}
function login(){
// blah
}
}
哪个工作正常,一切都没问题。我唯一想知道的是,如果我想访问login
功能,我目前必须访问www.blah.com/home/login。 如何更改它以便只需访问www.blah.com/login,而无需创建新的控制器 (我希望在默认情况下保留其中一些时基网址控制器)的 的?这是可能的还是我只需要创建一个新的控制器?
如果我只需要创建一个新的控制器,是否有最佳实践可以控制您拥有多少个控制器等。
答案 0 :(得分:4)
文档说明:此路由将告诉路由器,如果URL中提供的URI段无法与有效路由匹配,则使用哪些URI段。
因此请使用$route['login'] = 'home/login';
答案 1 :(得分:0)
我设置它的方法是让index
函数充当网守:如果没有登录,则显示登录表单view
,如果已登录,则重定向到您的(受保护的)主页。只有当用户提交登录/密码并执行登录逻辑时,login
函数才能通过post
访问。
答案 2 :(得分:0)
您需要在application/config/routes.php
文件中添加一行
$route['login'] = "home/login";