最经有点想架设一个我的网站玩一玩, 前段时间试了试 zend framwork 以为对于我的网站来讲太过复杂, 因此开始尝试 Codeigniter。 基本原理是差很少的, 文档也比较全。php
Codeigniter 这个框架全部的连接都经过 index.php 来传递。 在默认状况下 连接中都须要加上 index.php 的, 固然在咱们实际使用时, 是但愿把这个去掉的。 不少人讲了不少方法, 我这里只有一点不一样。css
google搜了一下,官方文档上也有说明 :http://codeigniter.org.cn/user_guide/general/urls.html 。html
大体上须要改两个地方 :服务器
1) 修改根目录的.htaccess 文件 以修改服务器的 从新定向。 这个我的有不一样改法, 我最终采用的是官方版本稍微修改了一下的形态 :app
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond $1 !^(index\.php|images|js|img|css|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [QSA,L]
这一步须要你确认你的服务器开启了从新定向。框架
2) application/config/config.php 将 index_page 的值设’’ide
$config['index_page'] = '';
可是就在我完成了这两步以后, 从新定向任然不能成功。 具体表现是这样的 :codeigniter
www.mysite/home 失败
www.mysite//home 成功
须要 加上 // 才能够是从新定向成功。 我尝试了许多方法, 也尝试修改 .htaccess 文件的最后一行都不能够。 最后的解决方法是 修改 application/config/config.php优化
$config['uri_protocol'] = 'PATH_INFO';
将原来的 AUTO 改成 PATH_INFO, 这里也有别人改成 REQUEST_URI, 在个人虚拟空间上是不能够的,应该跟服务器有关。网站
以后, 为了搜索引擎优化, 想使全部 带index.php的连接失效的, 能够参考这篇文章 : http://jsnwork.byethost7.com/blog/?p=217