所以这目前为我加载了页面。
/控制器名称/视图/ID/27/标题/鞋子
但是,我希望用户能够键入:
/控制器名称/27/鞋子
以查看文件。所以在路由文件中,我做了这样的规则,
$route['controllername/(:num)/(:any)'] = "controllername/view/id/$1/title/$2";
原始地址适用于uri_to_assoc(n),因为我将其作为
$array = $this->uri->uri_to_assoc(3);
$id = $array['id'];
$title = $array['title'];
但是一旦我路由它并使用新地址访问文件,我就会收到错误:消息:未定义的索引:id消息:未定义的索引:标题
我使用原始 url 访问它的方式没有收到这些错误。我想一旦 url 更改,uri_to_assoc(3) 的值就会改变,但我认为路由函数会解决这个问题。谁能帮我摆脱这些变量错误?
在这种情况下,
您需要ruri_to_assoc
:
http://codeigniter.com/user_guide/libraries/uri.html
$this->uri->ruri_to_assoc(n)
此函数与 [uri_to_assoc] 相同,只是它创建使用重新路由的 URI 的关联数组,以防使用 CodeIgniter 的 URI 路由功能。
无论如何,您仍应验证数组索引,以防 URL 本身无效。