当前位置: 首页 > 面试题库 >

子目录中的CodeIgniter默认控制器不起作用

牟正真
2023-03-14
问题内容

我在路由配置中的default_controller设置为“ home.php”。

我的控制器有一个子目录,可将其称为“文件夹”。因此,如果我访问http://mysite.com/folder/,应该调用默认控制器“
folder / home.php”吗?

但是由于某种原因,这不起作用,我得到了404。访问http://mysite.com/folder/home或http://mysite.com/folder/home/index可以正常工作。除此之外,默认控制器还可以在根目录中运行(http://mysite.com加载home.php)。

有什么想法,其他人有没有经历过?我无法解决这个问题-这似乎是一个CI问题,但我找不到其他人遇到同样的问题。

至少从我的理解角度来看,该文档建议这样做应该可以正常工作:http
:
//codeigniter.com/user_guide/general/controllers.html#subfolders

将默认控制器设置为“ folder /
home.php”意味着http://mysite.com/folder/可以正常工作。除了我希望默认控制器只是“
home.php”-不论是在根目录还是在子目录中,都应按照文档说明加载该目录中的home.php。

干杯


问题答案:

对于controllers文件夹中的每个子文件夹,必须在中指定一个默认控制器routes.php。内置功能$route['default_controller']不适用于子文件夹。

例如:用于设置folder子文件夹的默认控制器,以home将以下内容添加到/application/config/routes.php文件中:

$route['folder'] = "folder/home";

这意味着与URL http://mysite.com/folder/相同http://mysite.com/folder/home



 类似资料:
  • 问题内容: 是否可以在Eclipse 3.4.1中设置默认的工作目录?默认情况下是: $ {workspace_loc :(项目名称)} 但我希望它像 $ {custom_var} 对于每个类,我可以将运行配置->参数->工作目录更改为“其他”,但最好更改默认值。我有很多需要从该特定目录运行的类。 问题答案: 您可以做的一件事是设置一个启动配置,然后右键单击它,然后选择“重复”。这将保留所有参数。

  • 问题内容: 我有一个控制器,该控制器的操作可以显示一组特色产品。但是,产品是通过包含专有模型和视图的控制器进行管理的。 如何从控制器中的操作中访问信息?实例化无法运行,因为该类未在运行时加载,并且CodeIgniter也未提供动态加载控制器的方法。将类放入库文件中实际上也不起作用。 确切地说,我需要在索引视图中插入产品视图(填充有控制器处理的数据)。我正在运行CodeIgniter 2.0.2。

  • 的复制构造函数和赋值操作符的情况下,便编译器会为我们生成默认的复制构造函数和赋值操作符,以内存复制的形式完成对象的复制。虽然这种机制可以为我们节省很多编写复制构造函数和赋值操作符的时间,但是在某些情况下,比如我们不希望对象被复制,这种机制却是多此一举。) 关于类的“禁止复制”,现在可以使用delete关键字完美地直接表达: class X { // … X& operator=(c

  • 我正在写报告。现在我有一个jrxml文件,我必须加载它,以便我可以解析它。然而问题是我想直接加载文件与它的名字 但是我无法找到我应该把文件放在我的项目中的哪里,以便上面的路径有效。在简单的java项目中,我们只是把我们想要的文件放在src文件夹所在的项目文件夹中,但它在vaadin项目中不起作用。那么我应该把我的文件放在哪里。 谢谢。

  • 问题内容: 我用Java编写并编译了一个简单的Hello World程序,但是当我尝试运行该程序时,却收到了错误消息。只有在我执行命令后,它才能成功运行。 奇怪的是,当前目录似乎已经是类路径的一部分。剧本 打印,尽管我再次必须显式设置该选项。 有谁知道为什么会这样?我正在使用Ubuntu 16.04和open-JDK版本1.8。 问题答案: 我希望已经设置了环境变量。运行以查看其设置。 如果您不使

  • 问题内容: 因为我想分离系统的前端和后端。我已经在控制器内部创建了2个文件夹作为前端和后端 下面是我的控制器文件夹的结构 我可以通过使用以下功能 但我想从网址中删除前端和后端段。 我检查了codeigniter中的路由功能,但据我所知,我需要分别指定每个路由。由于我大约有12个控制器,每个控制器都具有大约10 -15个功能,因此我可能必须指定该路由的每个功能。 有没有其他有效的方法可以实现使用路由