1

我正在尝试创建一条login.php?e=1在登录页面上显示的消息:/login/. 我遇到的问题是,在我执行/login/e/1/codeigniter 时,在 codeigniter 中似乎认为e是一个函数,因此,由于它不存在,因此输出一个404. 我正在尝试在索引函数中像获取请求一样获取段,但这不起作用。如何在 codeigniter 中执行在 codeigniter 之外微不足道的典型 get 请求,同时保持对 codeigniter 使用的 uri 的真实性?

    // Are they attempting to access a secure page?
    if ($this->uri->segment(1) == 'e' && $this->uri->segment(2) == '1'):
        if ($this->generic->getOption('block-msg-out-enable')) {
            $this->msg = $this->generic->getOption('block-msg-out');
        }
    endif;
4

1 回答 1

4

没有什么可显示的,只需点击此链接即可。

如果你很懒,那就看这里。

_remap以某种方式覆盖函数index()(或控制器中的任何其他声明的函数)

function _remap($method, $params) {

    if (method_exists($this, $method)) {

        return call_user_func_array(array($this, $method), $params);

    } else {

        array_unshift($params, $method);
        return call_user_func_array(array($this, "index"), $params);

    }

}

//在第一条评论之后看看这里

function _remap($method, $params) { //this is "kind" of your new index(); but it takes parameters

    if ($method == 'e') {

        echo $params[0];

    } else {

        show_404();

    }

}
于 2013-09-08T17:28:41.493 回答