【问题标题】:Codeigniter routing - cannot make it workCodeigniter 路由 - 无法使其工作
【发布时间】:2016-05-12 19:50:08
【问题描述】:

我只在 CI 工作了几天。以前的经验 - .NET C#。

我的控制器:

class Project extends CI_Controller {
    public function __construct() { parent::__construct(); }

    public function index() {
        echo 'To be or not to be?';
    }
}

文件名/application/config/controllers/Project.php

routes.php:

$route['default_controller'] = 'home';
$route['project'] = 'project';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

default_controller 的路由有效,没问题。 $route['project'] 返回 'Object not found', 404。路由在列表中的位置不会改变任何东西。如果我使用http://my-site.com/index.php/project - 这很好。

我应该使用 .htaccess 文件吗?我不认为这是一个强制性条件。

我哪里错了?

提前谢谢你。

【问题讨论】:

  • 如果您愿意接受类似“工作正常”的 URL,则使用 .htaccess 不是强制性的。此外,$route['project'] = 'project'; 行也不是必需的。只有当你想偏离 example.com/class/function/id/ 的 CI 约定时才需要使用路由。
  • 非常感谢,我知道了。
  • htaccess 不是强制性的,但它只是一个小文件,是一个很大的改进。还要确保您已在 application/config/config.php 文件中填写了 base_url 值。并在codeigniter手册中做教程,它会为你节省很多时间。
  • page 上的列表行显示“保留的路由必须位于任何通配符或正则表达式路由之前。”

标签: codeigniter


【解决方案1】:

在应用程序/配置中

变化:

$config['index_page'] = 'index.php';

到:

$config['index_page'] = '';

【讨论】:

  • 谢谢Anustart,我根据@DFriend 的评论解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
  • 2018-09-07
  • 2016-01-24
相关资源
最近更新 更多