【问题标题】:Set route in different directories Codeigniter在不同目录中设置路由 Codeigniter
【发布时间】:2015-01-16 11:51:34
【问题描述】:

将控制器分为文件夹,站点文件夹中的站点,管理文件夹中的管理员(在控制器内部)。

但是如果不放置相同文件夹 url 的基础,我将无法访问控制器,例如:

我想这样访问:http://localhost/gabriel/projeto/about

但我可以这样做:http://localhost/gabriel/projeto/site/about

文件'htaccess'这样:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

'base_url' 这样:

$config['base_url'] = 'http://localhost/gabriel/projeto/';

文件“路由”这样:

$route['default_controller'] = "site/index/";
$route['404_override'] = '';
$route['admin'] = "admin/login";

已经尝试修改 .htaccess 但没有结果。 在文件'routes'中插入另一行:

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

但是放那条线它与路由结束冲突,并且管理员只能在 Url 中接收一个参数。

我该如何解决这个问题?制作动态路线...

【问题讨论】:

    标签: php .htaccess codeigniter controller routes


    【解决方案1】:

    也解决了我的问题:

    $route['admin/(.*)'] = "admin/$1";
    $route['(.*)'] = "site/$1";
    

    现在这条动态路线

    【讨论】:

      【解决方案2】:

      将此添加到您的 routes.php.. 将其置于所有其他 $route 变量之上...

      $route['projeto/about'] = 'projeto/site/about';
      

      【讨论】:

        【解决方案3】:

        我不是 100% 确定这是您要的,但请尝试在 config/config.php 文件中设置 base_url

        $config['base_url'] = 'http://localhost/gabriel/projeto/';
        

        或设置为您希望站点根目录的任何内容

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-18
          • 2012-06-21
          • 2011-04-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多