代码点火器控制器 - 不能使用带有功能索引()的uri->段?

时间:2010-03-29 22:11:41

标签: codeigniter controller

我正在使用代码点火器,出于某种原因,网址http://mysite.com/account/100给了我404错误,但http://mysite.com/account实际上有效。这是我的控制器account.php的样子。

   class account extends Controller {


    function account()
    {
      parent::Controller();
    }

    function index()
    {
     echo 'hello';
      echo $this->uri->segment(2);
    }
    }

知道什么是错的吗?

3 个答案:

答案 0 :(得分:3)

我刚刚测试了一个类似于你的简单帐户类,它试图将100作为一种帐户方法,而不是你在index.php之后的网址应该是帐户/索引/ 100并且工作正常。

例如,可以使用路由解决这个问题。

$route['account/(:num)'] = "accounts/index/$1";

正是您要找的。您可以查看URI Routing用户指南 了解更多信息。

CodeIgniter要求您的控制器名称大写,文件名小写,因此请尝试将控制器更改为。

class Account extends Controller { }

和你的文件名account.php

答案 1 :(得分:0)

添加此路线,你很好

$route['account/(:any)'] = "account/index/$1";

答案 2 :(得分:0)

这不起作用,因为当您请求http://example.com/account时,它看起来是 index()方法。 但是当您请求http://example.com/account/100时,正在寻找 100()方法。哪个不存在。 您可以像这样调整代码。

matrices = (A,B,C,D)

您将这样调用网址:http://example.com/account/id/100

或者你可以这样做 http://example.com/account/alternative/100