最經有點想架設一個我的網站玩一玩, 前段時間試了試 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