最经有点想架设一个个人网站玩一玩, 前段时间试了试 zend framwork 觉得对于个人网站来说太过复杂, 所以开始尝试 Codeigniter。 基本原理是差不多的, 文档也比较全。
开始
Codeigniter 这个框架所有的链接都通过 index.php 来传递。 在默认情况下 链接中都需要加上 index.php 的, 当然在我们实际使用时, 是希望把这个去掉的。 很多人讲了很多方法, 我这里只有一点不同。
google搜了一下,官方文档上也有说明 :http://codeigniter.org.cn/user_guide/general/urls.html 。
大致上需要改两个地方 :
1) 修改根目录的.htaccess 文件 以修改服务器的 重新定向。 这个个人有不同改法, 我最终采用的是官方版本稍微修改了一下的形态 :
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 的值设’’
$config['index_page'] = '';
但是就在我完成了这两步之后, 重新定向任然不能成功。 具体表现是这样的 :
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
浙公网安备 33010602011771号