我的自定义路线有问题!
我的路由代码在CI3.0.1中运行正常,但在升级到CI3.0.2后,它只显示404我的自定义路由! 我的.htaccess工作正常,因为我刚刚将app / config / constants.php文件和系统/文件夹上传到我的主机(如升级文档中所述)
有谁知道,导致问题的原因是什么?!
url:http://www.example.net< - 默认控制器工作正常
url:http://www.example.net/admin< - 使用路线,显示404
url:http://www.example.net/admin/index< - 工作正常O.o!
$route['default_controller'] = 'ctrl_main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['(:any)'] = 'ctrl_main/$1';
$route['main'] = 'ctrl_main';
$route['main/(:any)'] = 'ctrl_main/$1';
$route['main/(:any)/(:num)'] = 'ctrl_main/$1/$2';
$route['main/(:any)/(:any)/(:num)'] = 'ctrl_main/$1/$2/$3';
$route['main/(:any)/(:any)'] = 'ctrl_main/$1/$2';
$route['main/(:any)/(:any)/(:any)/(:num)'] = 'ctrl_main/$1/$2/$3/$4';
$route['admin'] = 'ctrl_admin';
$route['admin/(:any)'] = 'Ctrl_admin/$1';
$route['admin/(:any)/(:num)'] = 'Ctrl_admin/$1/$2';
答案 0 :(得分:1)
当您输入http://www.example.net/admin时,会通过
进行路由$route['(:any)'] = 'ctrl_main/$1';
因此CodeIgniter假设admin
控制器中有方法ctrl_main
。
您的路线$route['(:any)']
绝不会允许任何路线。阅读有关文档中路由的优化。您应该将$route['(:any)'] = 'ctrl_main/$1';
保留在routes.php
文件的末尾。