我有http://localhost/CIrbbps/index.php/class_name/method_name。如何删除类名?,所以我可以得到http://localhost/CIrbbps/index.php/method_name。谢谢
答案 0 :(得分:2)
为了将www.domain.com/services
映射到pages/services
,您会像:
$route['services'] = 'pages/services'
如果你想将www.domain.com/whatever
映射到pages/whatever
以及有几个变种并且你有几个控制器,那么你会这样做:
//为所有控制器创建高于此值的规则。
$route['(:any)'] = 'pages/$1'
也就是说,您需要为所有controllers/actions
创建规则,最后一个应该是一个包罗万象的规则,如上所述。
如果你有太多的控制器并且你想要解决这个特定的路线,那么在你的routes.php
文件中安全:
$path = trim($_SERVER['PATH_INFO'], '/');
$toMap = array('services', 'something');
foreach ($toMap as $map) {
if (strpos($path, $map) === 0) {
$route[$map] = 'pages/'.$map;
}
}
注意,您可能需要尝试使用$_SERVER['PATH_INFO']
或任何为您提供完整网址路径的组件,而不是$_SERVER['ORIG_PATH_INFO']
。
此外,上面没有经过测试,这只是一个让你入门的例子。
CodeIgniter Routes - remove a classname from URL for one class only
答案 1 :(得分:1)
试试这个:
$route['(:any)'] = "account/$1";