【问题标题】:CodeIgniter - how to remove class name in url routeCodeIgniter - 如何在 url 路由中删除类名
【发布时间】:2017-12-12 11:24:26
【问题描述】:

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

【问题讨论】:

  • 请看这个链接,这个问题已经解决了点击here

标签: php codeigniter routes


【解决方案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";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2019-04-09
      • 2019-06-18
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多