[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如

http://localhost/ci/index.php/welcome/test<br></br>

http://localhost/ci/welcome/test<br></br>

本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。

設定開始:

接下來說明如何使用rewrite方式將惱人的index.php去除。rewrite不清楚的人,煩請先自行google

首先要先確定Apache的mod_rewrite開啟,如果沒有開啟請設定好之後重新啟動apache。
接著,在根目錄底下建立一個新檔案,檔名為 *.htaccess *,裡面程式碼如下:

<IfModule mod_rewrite.c><br></br> RewriteEngine On<br></br> RewriteBase /<br></br> RewriteCond %{REQUEST_FILENAME} !-f<br></br> RewriteCond %{REQUEST_FILENAME} !-d<br></br> RewriteRule ^(.*)$ index.php/$1 [L]<br></br></IfModule><br></br>

接著到application/config/config.php,開啟檔案修改

$config['index_page'] = "";<br></br>

注意:
/index.php/$1 要根據你目錄,例如http://localhost/index.php,網站根目錄為/ci/index.php *則要寫成/ci/index.php/$1*

接著至CI目錄下,尋找configconfig.php, 修改一下裡面的檔案,修改如下:

$config['index_page'] = "";<br></br>

存檔後,如此一來大功告成。

參考資料
官方網站說明

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn