0

过去 1 年我一直在研究 codeigniter,但从未发现这个问题,可能是因为我一直在使用带参数的函数

让我告诉你这个问题

说我前面有这样的功能

class user extends CI_Controller{
    public function __construct() {
        parent::__construct();
        @session_start();
        $this->load->library('encrypt');
    }
    /*------------for registration-------------*/
    function register()
    {
       }

现在它会被这样调用

http://example.com/user/register

我在注册函数中没有传递任何参数

现在如果我在地址栏中这样写

http://example.com/user/register/abc/abd

然后也将调用寄存器函数,显示没有错误

因为我为 register 函数传递了两个参数,而在 register 函数上我没有捕捉到它们..

我想在这种情况下404 error应该显示,我该怎么做......

4

1 回答 1

1

您可以使用URI 类来检查第三个 URI 段是否包含任何内容,如果包含,您可以使用show_404()

if($this->uri->segment(3) !== FALSE)
{
  show_404();
}
于 2013-07-04T02:35:51.293 回答