路由后uri_to_assoc(n)不起作用

时间:2012-08-07 22:19:22

标签: php .htaccess codeigniter

所以这个当前为我加载页面。

/ 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)的值一旦更改了网址就会改变,但我认为路由功能会处理这个问题。任何人都可以帮我摆脱这些变量错误吗?

1 个答案:

答案 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本身无效,您仍应该验证您的数组索引。