CodeIgniter缺少参数重定向到404

问题描述:

如果用户键入/apple/而不是/apple/1,又名未定义的URL,它应该重定向到404页面。但是,它会转到控制器并输出一个Missing Argument1消息。CodeIgniter缺少参数重定向到404

而且我不希望改变:

public function index(){...} 

要:在路线

public function index($id = null){...} 
+0

小心解释为什么不呢?这将是最优雅和灵活的解决方案。如果变量为空,则重定向。否则,您需要使用路线,但是您必须更新每个控制器的路线文件... – Robert 2012-07-10 21:07:31

嗯,我没有测试它,但你可以做的。 php

$route['apple/(:any)'] = "apple"; 
$route['apple'] = "apple"; 

在apple.php

function index() 
{ 
    if(!$this->uri->segment(1)) 
    { 
    show_404(); 
    } 
}