apache如何将http://www.example.com/index.php/abc/def映射到index.php?

时间:2009-12-16 13:48:29

标签: codeigniter apache2

Codeigniter php框架网址如上所示。

我很惊讶apache将此请求映射到服务器根目录下的index.php。我希望它将/index.php/abc/def解释为目录/index.php/abc中的文件'abc',结果是404 Not Found(假设没有这样的文件存在)。

任何人都可以解释为什么index.php被执行了吗? 是否有一份文件解释了阿帕斯对资源战略的地图请求,这可以解释上述观察结果?

2 个答案:

答案 0 :(得分:3)

因为当它在根文件夹中查看时,它看到index.php是一个文件而不是文件夹,所以它执行该文件而不是查看它的内部(如果它是一个目录),用于路径的下一个元素。

“路径”的其余部分则成为各种各样的非常规查询

答案 1 :(得分:2)

index.php是项目文档根目录中的实际文件。框架设置为将所有请求路由到此文件。它通常也称为“引导程序”文件。引导程序文件负责启动您的应用程序,并最终将您的请求发送到需要的位置。

框架中有一个路由器接收uri,index.php之后的所有内容,然后将其映射到控制器/动作组合。