CodeIgniter给出了这个示例Blog.php
<?php
class Blog extends CI_Controller {
public function index()
{
echo 'Hello World!';
}
}
并通过
调用它example.com/index.php/blog /
问题是为什么在uri中有index.php?
答案 0 :(得分:1)
服务器(典型灯泡堆栈中的apache)必须解析为可执行的php文件。没有重写,唯一的方法是直接引用.php
文件(或目录索引文件索引,如index.html
或index.php
等)。默认情况下,路径example.com/blog/
会尝试加载子目录/blog
。要删除index.php
,您需要为服务器启用url重写。 CodeIgnitor has this well documented
答案 1 :(得分:0)
你想知道为什么URl中有index.php? 有一个简单的答案,Codeigniter下的任何请求都被赋予index.php,然后它解析控制器。因此,人们通常会使用mod_rewrite来掩盖index.php。 php解释器本身没有控制器的概念,它只将URI映射到文件并为其提供post和get参数。 因此,您需要一个在控制器调用中转换URI的文件。
答案 2 :(得分:0)
如果你深入了解index.php,你就会知道Code Igniter需要:
- 检查系统路径
- 负载常数
- 应用程序是否能够写入文件?如果您将文件上传到服务器,通常会使用此选项
- 加载核心功能
- 等等
简单地说,代码点火器将加载您可能在应用程序中使用的变量,函数,帮助器,库等