如果遵循模型-视图-控制器模式,那么 URI 中的每一段通常表示下面的含义:
example.com/class/function/ID
- 第一段表示要调用的控制器 类 ;
- 第二段表示要调用的类中的 函数 或 方法 ;
- 第三段以及后面的段代表传给控制器的参数,如 ID 或其他任何变量;
移除 URL 中的 index.php
默认情况,你的 URL 中会包含 index.php 文件:
example.com/index.php/news/article/my_article
如果你的 Apache 服务器启用了 mod_rewrite ,你可以简单的通过一个 .htaccess文件再加上一些简单的规则就可以移除 index.php 了。下面是这个文件的一个例子,其中使用了 "否定条件" 来排除某些不需要重定向的项目:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
在上面的例子中,除已存在的目录和文件,其他的 HTTP 请求都会经过你的 index.php 文件。