【问题标题】:How to remove controller name in URL of codeigniter and need to add menu and submenu as URL name如何在 codeigniter 的 URL 中删除控制器名称并需要添加菜单和子菜单作为 URL 名称
【发布时间】:2016-10-25 22:34:58
【问题描述】:

我需要从 codeigniter 的 URL 中删除控制器名称,例如:

www.example.com/controllername/functionname
www.example.com/welcome/aboutus
www.example.com/welcome/ourservices

我需要网址为:

www.example.com/functionname
www.example.com/aboutus
www.example.com/ourservices

然后我还需要为我们的服务提供 URL 应如下所示的子菜单:

www.example.com/welcome/our services/service1
www.example.com/welcome/our services/service2

如何在codeigniter中实现这个路由?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    如果您只想从 URL 中删除“欢迎”,

    你可以这样做:

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

    【讨论】:

      【解决方案2】:

      转到application/config/routes.php

      并添加

      $route['about-us'] = 'welcome/aboutus';
      $route['our-services'] = 'welcome/ourservices';
      

      确保您的函数不应包含空格。可以是

      1. 关于我们
      2. 关于我们

        public function about_us()
        {
            # code...
        }
        

      【讨论】:

      • 谢谢,如果我有更多页面意味着如何动态添加路由
      • 对于我需要添加的每个页面...有没有办法为所有页面动态添加例如我有 10-20 个页面我应该添加 10-20 个路由?...
      • @durai 没有什么是容易的,除非你尝试过。添加20页是大事??如果你需要archice,你必须不惜一切代价去做
      • 它会工作我已经在使用它.. 我正在寻找更简单的方法,比如在一行代码中删除控制器名称欢迎
      • 一行。如果您得到答案,请在此处发布。所以我也可以学习。谢谢
      【解决方案3】:

      这可以通过动态路由来实现。打开配置文件夹中的文件 routes.php 并设置路由。 示例:

        $route['default_controller'] = 'Login';
        $route['404_override'] = '';
        $route['about-us']="Foldername(if-any)/ControllerName/FunctionName";
      

      要打开 about-us 页面,您必须提供来自控制器的路径,例如

            redirect(base_url('about-us'));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-11
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 2016-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多