2015-01-21 53 views
0

看了很多地方,最后在这里发布。在codeigniter的控制器中重命名一个方法。我如何使用.htaccess重定向?

我已将codeigniter控制器中的方法从classDetails重命名为类详细信息。

我正在使用的.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

没有使用正确的约定方法名称
+0

首先你没有使用正确的约定,你可以使用类的细节,你可以只使用方法名的方法名的所有方法名称的小案例或骆驼案例,否则它将永远不会工作。你可以给你的方法名称作为classDetails,并在路线中,你必须写这样的东西 $ routes ['class-details'] ='/classDetails';按预期方式, – 2015-01-21 12:07:36

回答

0

首先自定义核心类重写URL中你可以使用类的详细信息作为方法名称,你可以只使用所有的小案例或骆驼案件的方法名称,否则它永远不会工作。你可以给你的方法名classDetails和路线,你必须写这样的事情

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

未能正常工作。 – spod 2015-01-21 12:40:09

相关问题