首先,是先簡單說明使用 Codeigniter framework 時移除 URL 中的 index.php
在 Codeigniter 的根目錄新增一 .htaccess 檔案
並放入以下內容

RewriteEngine on  
RewriteCond $1 !^(index\.php|js|robots\.txt|css)  
RewriteRule ^(.*)$ index.php/$1 [L]  

另外還要修改 Codeigniter 的 config.php 設定

$config['index_page'] = ''";

不過上面的 rewrite rule 有些問題,
情境是這樣的:
我在 Codeigniter 根目錄新增一資料夾為 uploads ,
放置上傳的圖片與影片,
但是因為 rewrite rule routing 的關係沒辦法讀取到圖片,
因此我將 .htaccess 檔修改如下:

RewriteEngine on  
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]  

主要是在三四行的 %{REQUEST_FILENAME}
這樣修改完就解決問題了!

ref: CodeIgniter 如何去掉 URL 中的 index.php