出于组织目的,我需要在views目录中包含子文件夹。例如,用于管理登录/注册:views/login_reg/login.php
和views/login_reg/register.php
。
在我的URI中希望看到:www.mysite.com/login
或www.mysite.com/register
而不是www.mysite.com/login_reg/login
。
我在路线中尝试了以下内容:
$route['(:any)/login'] = 'login_reg/login';
哪个不起作用。
修改
进一步阐述的一个简单例子:
//Controller: login_reg.php
class Login_reg{
function login(){
$this->load->view('login_reg/login');
}
function register(){
$this->load->view('login_reg/register');
}
}
//Routes:
$route['login_reg/(:any)'] = 'login_reg/$1';
所以我的URI看起来像这样:www.mysite.com/login_reg/login
或www.mysite.com/login_reg/register
所以我希望一个控制器管理所有与登录/注册相关的视图。但我不想在URI中看到控制器名称。这可能吗?或者是拥有登录控制器,注册控制器,密码更改控制器等的最佳方法?这看起来有点过分了。我希望将我的文件组织到相关目录中,因为这是一个非常大的站点的一部分。
答案 0 :(得分:1)
在这里,您根本不需要路由。
只需在加载视图时添加文件夹名称。
例如,登录的控制器名称就像
function login()
{
//code goes here
$this->load->view('login_reg/login');
}
和注册类似。
希望这会对你有所帮助。如果你进一步询问,请随时告诉我。
---更新---
在route.php中隐藏控制器名称make chanes,如下所示;
$route['login'] = 'login_reg/login';
$route['register'] = 'login_reg/register';
你的网址现在会这样:
http://yourwebsite.com/login