我正在用 CodeIgniter 构建一个 PHP 应用程序。CodeIgniter 将所有请求发送到主控制器: index.php
。但是,我不喜欢在 URI 中看到 index.php
。例如,http://www.example.com/faq/whatever
将路由到 http://www.example.com/index.php/faq/whatever
。我需要一个可靠的方式,让脚本知道它的地址是什么,这样它就会知道如何处理导航。根据 CodeIgniter 文档,我使用了 mod_rewrite
。
规则如下:
RewriteEngine on
RewriteCond $1 !^(images|inc|favicon\.ico|index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
通常,我只检查 php_self
,但在这种情况下,它总是 index.php
。我可以得到它从 REQUEST_URI
,PATH_INFO
等,但我试图决定哪一个将是最可靠的。有人知道(或知道在哪里找到) PHP_SELF
,PATH_INFO
,SCRIPT_NAME
和 REQUEST_URI
之间的真正区别吗?谢谢你的帮助!
注意 : 我必须添加空格,因为 SO 看到了下划线,并且由于某种原因使其变为斜体。
更新 : 修复空格。