CodeIgniter奇怪的URL路由问题

时间:2015-04-30 14:07:26

标签: php codeigniter routes

确定。所以我通过在routes.php文件中添加此规则来更改路由:

$route['tools/(:any)'] = "b/view/$1";

但是,当我访问http://mywebsite.com/tools/toolid时,我收到以下错误:

  

PHP错误已经遇到

     

严重程度:通知

     

消息:试图获得非对象的财产

     

FILENAME:VIEWS / LISTING_PAGE.PHP

     

行号:64

因此LISTING_PAGE.PHP文件中第64行的代码是:

echo $categoryinfo->name;

LISTING_PAGE.PHP是一个由B类中的代码加载的视图,特别是这一行:

$this->load->view("listing_page", $data);

现在,奇怪的是,如果我将routes.php中的路由规则更改为:

$route['tools/id/(:any)'] = "b/view/$1"; //I added an id 'section'

然后代码可以正常运行。

如果我访问http://mywebsite.com/b/view/toolid,代码也能正常运行。

所以看来,如果有多个'section'(tools / id),那么代码就能完美运行,如果只有一个'section'(tools /)那么就会出现非对象错误。

有谁知道可能导致此问题的原因?

1 个答案:

答案 0 :(得分:0)

@ splash58是对的 你应该把:

echo '<pre>', var_dump($category);exit;

在打开php标签后的第一行视图文件中,看看你有什么。