脱离mod_rewrite使用CakePHP

CakePHP默认的运行环境是需要Apache的mod_rewrite组件支持的,如果非要在没有mod_rewrite组件的情况下使用,可以像下面这样:

在app/config/core.php (line 42)将类似下面的这行的注释去掉,并且改为下面这样,这样CakePHP中生成的Url会附带问号,以便脱离mod_rewrite传递页面参数:

 define('BASE_URL',env('SCRIPT_NAME') . '?');

把CakePHP根目录下的index.php (line 68)文件中的

 $uri = setUri();
改为
 $uri = env('PHP_SELF') . env('QUERY_STRING');

这样就可以用类似http://localhost/cake/index.php?/notes 这样的地址传递访问参数了。

完整的说明以及在拥有mod_rewrite的时候使用带问号的方式来传递Url参数的方法见:https://trac.cakephp.org/ticket/812

GlossyBlue theme adapted by David Gilbert
Powered by PmWiki