我想在 codeigniter 上实现以下 url 结构
http://client.xyz.com/division/controller/controller_fuction
请让我知道如何更改路线文件以满足我的要求。谢谢。
评论 -
我想设置客户端明智的独立数据库,“部门”可能就像部门 1、部门 2。取决于 url 设置和会话将被加载。
我想在 codeigniter 上实现以下 url 结构
http://client.xyz.com/division/controller/controller_fuction
请让我知道如何更改路线文件以满足我的要求。谢谢。
评论 -
我想设置客户端明智的独立数据库,“部门”可能就像部门 1、部门 2。取决于 url 设置和会话将被加载。
在配置文件中设置
$config['index_page'] = '';
然后应用 htacess
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt|css|img|js)
RewriteRule ^(.*)$ ./index.php/$1 [L]
这样你就可以像http://client.xyz.com/division/controller/controller_fction
或者你可以使用路由
您可以创建将扩展 CI_Controller 的 MY_Controller。
每个其他控制器都将扩展 MY_Controller。
然后在 MY_Controller 中,您可以在构造函数中使用它。
$controller = $this->uri->segment(1);
$controller_function = $this->uri->segment(2);
在这里您可以定义 $devisions 或从 config.xml 中获取它。
$division1 = array('controller1','controller2','controller3');
$division2 = array('controller4','controller5','controller6');
$division3 = array('controller7','controller8','controller9');
if(in_array($controller,$division1)){
//do blah blah
}else if(in_array($controller,$division2)){
//do other blah blah
}else{
//do last and final blah blah
}
您需要创建自己的路由类,CI 让我们可以替换或扩展它的核心功能。只需创建例如
class MY_Router extends CI_Router
{
//so on ..
}
然后将其保存在application/core
文件夹中,然后 CI 将使用您的类而不是默认值。
看 ?http://ellislab.com/codeigniter/user-guide/general/core_classes.html