在codeigniter的控制器中重命名了一个方法。如何使用.htaccess重定向?

时间:2015-01-21 12:02:03

标签: php .htaccess codeigniter

在查看了很多地方后,最后将它发布在这里。

我已经将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中覆盖它

1 个答案:

答案 0 :(得分:0)

首先,您没有使用方法名称的正确约定,您可以使用类详细信息作为方法名称,您只能使用所有小案例或驼峰案例作为方法名称,否则它将无法工作。你可以把你的方法名称作为classDetails,在路线中你必须写这样的东西

 $routes['class-details'] = '<controllerName>/classDetails';