【问题标题】:Codeigniter default controller works on Main index page, but not pages within Main controllerCodeigniter 默认控制器适用于主索引页面,但不适用于主控制器中的页面
【发布时间】:2016-06-25 22:50:59
【问题描述】:

如何为Main控制器中的每个页面配置路由?

Codeigniter 默认控制器仅适用于Main 索引页面,但不适用于eventsMain 控制器中的页面。 (见下文)

我希望 http://example.com/main/events 改为 http://example.com/events


此链接将您带到Main 控制器的索引页面,就像它应该的那样:

http://example.com/

Main 控制器的此事件页面将您带到 404 错误页面:

http://example.com/events

events 页面仅适用于 URL 中的默认控制器,如下所示:

http://example.com/main/events

我的 routes.php 文件的内容:

$route['default_controller'] = 'Main';
$route['404_override'] = 'main/error404';
$route['translate_uri_dashes'] = FALSE;

.htaccess 文件的内容:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    试试这个。当您的 URL 为 http://example.com/events 时,它将带您进入 events 页面

    $route['default_controller'] = 'Main';
    $route['events'] = 'main/events';
    $route['404_override'] = 'main/error404';
    $route['translate_uri_dashes'] = FALSE;
    

    【讨论】:

      【解决方案2】:

      application/config/routes.php

      $route['events'] = 'main/events';  # www.example.com/events
      $route['newPath'] = 'controller/exactPath'; # www.example.com/newPath
      

      .htaccess(应用程序文件夹外)

      RewriteEngine on
      RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
      

      【讨论】:

      • 这应该是答案
      【解决方案3】:

      这就是路由器在 codeigniter 中的工作方式。您可以:

      1. function events() {...} 函数中的逻辑移至它自己的 class Events extendsCI_Controller { }` 控制器的索引函数

      2. config/routes.php 配置文件中设置自定义路由到Main 控制器中的方法,如下所示:(您也可以使用(:any) 和其他参数):

        $route['events/(.*)'] = 'main/events/$1';
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-13
        • 2017-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多