【问题标题】:how to route multiple segment in codeigniter 3?如何在codeigniter 3中路由多个段?
【发布时间】:2021-08-26 10:33:38
【问题描述】:

我看到很多知名网站都使用这样的URI来提供不同的语言

www.example.com/en/
www.example.com/fr/

但是当我尝试打开 www.mysite.com/en/user/david 时出现 404 错误页面

这就是我的User 控制器的样子

class User extends MY_Controller {
  public function index($username='') {
    echo 'Hello, '.$username;
  }
}

我尝试将其添加到我的config/routes.php

$route['en/(\w.+)'] = '$1';

阅读后,我在CI docs看到了这个:

路由将按照它们定义的顺序运行。较高的路线总是优先于较低的路线。

我想做的事是不可能的吗?如果没有,我怎样才能达到我的目的?

【问题讨论】:

    标签: php routes codeigniter-3 multilingual


    【解决方案1】:

    我想你忘了在你的路由配置中指定方法,检查它here

    http://example.com/[controller-class]/[controller-method]/[arguments]
    

    你可以改成这个来获取用户名:

    $route['en/(\w.+)/(\w.+)'] = '$1/index/$2';
    

    如果还是不行,也许你需要在你的 url 中添加 index.php,如下所示:

    www.mysite.com/index.php/en/user/david
    

    remove it

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      相关资源
      最近更新 更多