好的,我想我可能(希望)会被告知我正在以错误的方式解决这个问题。Codeigniter URL路由 - 为树结构捕获所有内容
目前,如果我去CI网络的根目录,我会调用一个函数来读取map_directory()
的预定义位置。然后我把它作为一个简单的目录列表在视图中迭代出来。
然后,我想单击这些目录之一来查看里面的内容。当我这样做时,我会调用另一个名为browse
的控制器函数。
所以,如果我点击一个链接,我去
www.mysite.com/dir1
(其路由到www.mysite.com/controller/browse/$1
- 其中$ 1这种情况下= DIR1)。
现在我看到一个dir1
的目录列表。我已经配置了显示列表的链接,现在去:
www.mysite.com/dir1/subdir1等
我想要做的,这可能是位在哪里是欺骗/脚麻,就是抓住一切后,
www.mysite.com/
,并把它传递给
www.mysite.com/controller/browser/$1
所以例如:
www.mysite.com/dir1/subdir1/ => www.mysite.com/controller/browse/"dir1/subdir1"
我知道我不能拥有“'在那里,但是这是我一点我试图传递给map_directory()函数...所以它去/.$var(其中$var would = $1 = "dir1/subdir1"
。
到目前为止,我在CI routes.php文件曾尝试:
$route['(.+)$'] = 'controller/browse/$1';
$route['([a-zA-Z0-9\/]*)'] = 'controller/browse/$1';
$route['(:any)'] = 'controller/browse/$1';
...但他们似乎都永远只能捕捉到“dir1的”从来没有任何超出。
我希望是有道理的人....