在查看了很多地方后,最后将它发布在这里。
我已经将codeigniter控制器中的一个方法从classDetails重命名为class-details。
我在.htaccess中使用以下代码,但它不起作用
RewriteRule ^classDetails/(.*)$ class-details/$1 [R=301,L]
我也在/application/config/routes.php
中尝试了这段代码$route['classDetails'] = 'class-details';
我也试过
$routes['classDetails'] = 'class-details';
我甚至尝试在codeigniter中使用_remap(),如下所示
public function _remap($method, $params = array()){
switch ($method){
case 'classDetails':$method='class_details'; break;
};
if (method_exists($this, $method))
{
return call_user_func_array(array($this, $method), $params);
}
show_404();
}
无论我做什么,都会转到404页面
我在哪里做错了?
[编辑]
我的方法名是class_details,我使用名为MY_Router.php的自定义核心类在URL中覆盖它
答案 0 :(得分:0)
首先,您没有使用方法名称的正确约定,您可以使用类详细信息作为方法名称,您只能使用所有小案例或驼峰案例作为方法名称,否则它将无法工作。你可以把你的方法名称作为classDetails,在路线中你必须写这样的东西
$routes['class-details'] = '<controllerName>/classDetails';