codeigniter - 如何创建不覆盖其他 Controller 路由的 Codeigniter 路由?

标签 codeigniter routes

我的 Codeigniter 应用程序中有很多 Controller ,例如:注册、个人资料、主要等。

现在我想构建“用户” Controller 。

我想要的是:

  • 如果人们访问网址: example.com/signup , 我想使用默认路由到 " 注册 " Controller
  • 如果人们访问网址: example.com/bobby.ariffin ,我想将其重新路由到“ 用户” Controller ,因为我的应用程序中的任何 Controller 都没有处理该网址。

  • 我在我的 config/routes.php 中创建了这个:
    $route['(:any)'] = "user";
    

    但它将我的应用程序中的所有路由覆盖到“ 用户 ” Controller 。

    Codeigniter 是否有任何不覆盖其他 Controller 路由的简单路由?

    更新 - -

    我有这个问题的简单正则表达式,来自:Daniel Errante's Blog
    $route['^(?!ezstore|ezsell|login).*'] = “home/$0″;
    

    其中 ezstore、ezsell 和 login 是您的应用程序中的 Controller 名称。

    最佳答案

    您也可以为此使用 foreach 语句。这样你就可以把你的 Controller 放在一个漂亮的整洁列表中。

    $controller_list = array('auth','dashboard','login','50_other_controllers');
    
    foreach($controller_list as $controller_name)
    {
        $route[$controller_item] = $controller_name;
    }
    
    $route['(:any)'] = "user/display/$1";
    

    关于codeigniter - 如何创建不覆盖其他 Controller 路由的 Codeigniter 路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532595/

    相关文章:

    mysql - 计算带有月份和其他条件的行数

    php - 如何在Codeigniter中上传图像并将其保存到数据库?

    Angular 6 延迟加载路线

    iOS6 多路由音频

    php - 如何用破折号替换codeigniter url中的下划线?

    php - 在 codeigniter 中,出现 500 错误后重定向到自定义 html 页面

    php - 从 Mysql 日期格式 m/d/y 中获取月份和年份并与今天的月份和年份进行比较

    Angular如何获取未激活的子路由

    php - 我可以在 Laravel 的路由组中使用域和端口吗?

    php - 带有默认占位符的 symfony2 路由