我只是在学习codeigniter,而且我似乎遇到了一些有点奇怪的事情。我正在使用URI路由功能,但需要获取重新路由的URI的URI段。
这是其中一条路线:
$route['content'] = "site/display/main template/content";
当访问http://lipsum.localhost/content
时,它会加载控制器,但它不会让我使用URI类:
class Site extends Controller {
function display($template, $page) {
echo "display<br>";
$this->load->library('uri');
echo $this->uri->rsegment(1, 0)."<br>";
echo $this->uri->rsegment(2, 0)."<br>";
echo $this->uri->rsegment(3, 0)."<br>";
echo $this->uri->rsegment(4, 0)."<br>";
}
}
当我访问该页面时,它只显示
display 0 0 0 0
基本上,此代码应加载模板,然后将$page
传递给它,以便它可以加载网站的一部分。所以'content'可能会使用'main template'作为模板,然后将'content'作为要加载的页面传递给它。但我也希望能够将'/ products / whatever'传递给它等等 - 所以我想循环遍历URI段以获得页面的完整“路径”。我怎样才能使它工作?而且,为什么我没有工作?
答案 0 :(得分:3)
尝试摆脱“主模板”中的空格,使用下划线或camelCase将它们一起“mainTemplate”。我不记得上次我在任何路线或网址上看到过一个空格。
答案 1 :(得分:0)
这样做可以将自定义路由添加到/app/config/routes.php文件中。
$route['title-of-the-page'] = "<controller>/<method>";