所以这个当前为我加载页面。
/ controllername /视图/ ID / 27 /标题/鞋
但是,我希望用户能够输入:
/ controllername / 27 /鞋
查看文件。所以在路由文件中,我制定了这样的规则,
$ route [' controllername /(:num)/(:any)'] =" controllername / view / id / $ 1 / title / $ 2&#34 ;;
原始地址与uri_to_assoc(n)一起使用,因为我将其作为
$array = $this->uri->uri_to_assoc(3);
$id = $array['id'];
$title = $array['title'];
但是一旦我路由它并使用新地址来访问该文件,我就会得到错误: 消息:未定义的索引:id 消息:未定义的索引:标题
我没有用我原来的网址访问方式获得这些错误。我想uri_to_assoc(3)的值一旦更改了网址就会改变,但我认为路由功能会处理这个问题。任何人都可以帮我摆脱这些变量错误吗?
答案 0 :(得分:1)
在这种情况下,您需要ruri_to_assoc
:
http://codeigniter.com/user_guide/libraries/uri.html
$this->uri->ruri_to_assoc(n)
此函数与[uri_to_assoc]相同,但它创建的除外 在您遇到的情况下使用重新路由的URI的关联数组 使用CodeIgniter的URI路由功能。
如果URL本身无效,您仍应该验证您的数组索引。