OK,我需要什么听起来可能很容易 - ,但在这里它是(或复杂的,我不知道吗?):参数控制器的指数
CI中,给定一个控制器例如test
你可以这样做:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class test extends CI_Controller {
public function sub($param1="", $param2="")
{
}
}
?>
,这意味着你可以访问之一:
- mysite.com/test/sub
- mysite.com/test/sub/someparam1
- mysite的。 com/test/sub/someparam1/someparam2
但是,如果我想“省略”sub
部分会发生什么?
好吧,所以我想在控制器的index
功能中做同样的事情。像:
public function index($param1="", $param2="")
{
}
这样我就可以直接访问或者:
- mysite.com/test
- mysite.com/test/someparam1
- mysite.com/test/someparam1/someparam2
然而,由于CI的内部设计,当我尝试这一点,它一直在寻找一个someparam1' method in the
test`控制器whic h显然不存在。
那么,你会怎么做呢?
P.S.
1.请让我们避免与.htaccess
和晦涩重定向做的解决方案,让我们坚持提供最CI友好的方式(如果有的话)。
2.不建议我创建适当的功能(而不是使用一些变量访问) - 如果我想去做这样,我就已经做到了
3.参数最好是一个搜索引擎友好的URL的一部分,而不是把他们与$_GET
等(如mysite.com/test/?param1=someparam1 &参数2 = someparam2)
这么简单。非常感谢,哥们!有用! :-) – 2013-05-06 12:10:04
很高兴能有所帮助:) – Subash 2013-05-06 12:13:10