php-CodeIgniter-如何在URL路由中删除类名

我有http://localhost/CIrbbps/index.php/class_name/method_name.如何删除类名?,所以我只能得到http://localhost/CIrbbps/index.php/method_name.谢谢

解决方法:

为了将www.domain.com/services映射到页面/服务,您需要:

$route['services'] = 'pages/services'

如果您想将www.domain.com/whatever映射到pages / whatever,并且任何版本都有一些变体,并且您有一些控制器,那么您可以执行以下操作:

//为所有控制器在此规则之上创建规则.

$route['(:any)'] = 'pages/$1'

也就是说,您需要为所有控制器/动作创建规则,并且最后一个应该是一个包罗万象的规则,如上所述.

如果您有太多的控制器,并且想解决这个特定的路线,可以在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 [‘ORIG_PATH_INFO’]或提供完整URL路径的任何组件,而不是$_SERVER [‘PATH_INFO’].
另外,以上内容未经测试,仅是入门的一个示例.

CodeIgniter Routes – remove a classname from URL for one class only

上一篇:PHP-DataTable-通过控制器中的客户ID限制视图


下一篇:php-如何在两个列中显示数据?