CodeIgniter:将参数传递给控制器 时找不到页面?

问题描述 投票:2回答:3

我正在尝试将参数传递给codeigniter中的控件,但是我收到404页面未找到错误,我没有得到它,我按照指南的指示进行了操作:http://codeigniter.com/user_guide/general/controllers.html#passinguri

当我删除索引函数中的参数并仅访问控制器时,一切正常,但无法将值传递给它...

这是我尝试发送参数的代码:

http://mysite/123

<?php
class Main extends Controller {

    function index($username) {

        echo $username;

    }

}
?>

如何从Codeigniter获取有关此错误的更多信息?

谢谢。

php codeigniter http-status-code-404 codeigniter-url
3个回答
10
投票

使用该URL,CodeIgniter无法理解您是否要将123传递给index方法,或者是否请求不带参数的123方法。如果需要传递默认参数,则必须显式命名默认方法。

http://mysite/index/123

5
投票

选项1-在控制器中重新映射函数调用

如果您的控制器包含一个名为_remap()的函数,则无论您的URI包含什么,它将始终被调用。它覆盖了URI确定调用哪个函数的常规行为,从而允许您定义自己的函数路由规则。http://codeigniter.com/user_guide/general/controllers.html#remapping

选项2-使用自定义路线。

http://codeigniter.com/user_guide/general/routing.html


0
投票
$route['default_controller'] = 'main';
$route['(:any)'] = "main/$1";
© www.soinside.com 2019 - 2024. All rights reserved.