我正在为Codeigniter的一个副项目编写一个博客。我的博客中将有三个模块。
我需要知道如何做,例如:
有任何想法如何在URL架构中处理这个问题? (路由)
答案 0 :(得分:3)
您可以进行简单的切换:
class Post extends CI_Controller{
function index($module = null)
{
switch($module)
{
case NULL:
case 'module3':
//load theme 3
break;
case 'module1':
//load theme 1
break;
case 'module2':
//load theme 2
break;
}
}
在您的路线中:
$route['default_controller'] = "post";
$route['(:any)'] = "post/index/$1";
如何实现不存在的案例由您自己决定,这只是一个开始。此外,“:any”路线是一个全能的,它将抓取任何网址,因此您需要排除(通过将放置在之前的任何其他路线)重新映射。或者您可以查看要在控制器中使用的_remap()函数
答案 1 :(得分:0)
您可以修改CI的核心,但我认为您最好使用RewriteRule。