CodeIgniter - 如何在 url 路由中删除类名
Posted
技术标签:
【中文标题】CodeIgniter - 如何在 url 路由中删除类名【英文标题】:CodeIgniter - how to remove class name in url route 【发布时间】:2017-12-12 11:24:26 【问题描述】:我有 http://localhost/CIrbbps/index.php/class_name/method_name 。如何删除类名?,所以我只能得到 http://localhost/CIrbbps/index.php/method_name 。谢谢
【问题讨论】:
请看这个链接,这个问题已经解决了点击here 【参考方案1】:为了将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['ORIG_PATH_INFO']
或任何为您提供完整url 路径的组件,而不是$_SERVER['PATH_INFO']
。
另外,以上内容未经测试,仅供参考。
CodeIgniter Routes - remove a classname from URL for one class only
【讨论】:
【参考方案2】:试试这个:
$route['(:any)'] = "account/$1";
【讨论】:
以上是关于CodeIgniter - 如何在 url 路由中删除类名的主要内容,如果未能解决你的问题,请参考以下文章
如何删除 url codeigniter 路由 htaccess 中的某些部分