Apache Web Server üzerinde oluşturduğunuz CodeIgineter projenizin URL kısmında yer alan ve ana yönlendirme işlemlerini yüklenen “index.php” dosyasının adres çubuğundan kaldırılmasını ve düz bir permalink zinciri oluşturmayı düşünüyorsanız. basit bir kaç adımla bunu halledebilirsiniz.

Öncelikle bu index.php dosyasının bulunduğu, yani uygulamamızın kök dizininde bir .htaccess yaratmalıyız.

Projemize örnek bir URL ile ifade etmemiz gerekirse.

http://sunucu/projem/index.php/controlleradi şeklinde bir projemiz var olsun ve dikkat ederseniz projenin root klasörü “projem” adında bir subfolder, “index.php” dosyamız bu  folder altında.

Burada gereken gereken .htaccess dosyasının içeriği :

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

şeklinde olacak.

Burada  2 satırdaki ReWriteCond bu klasördeki redirectionların dışında kalacak olan dosya ve   klasörleri kurallarını belirliyor.
Yani bu dizinde kendi yarattığınız “css” ve “javascript” klasröleri olduğunu varsayarsak ve bu klasörlerin altındaki dostyaları çağırmamız gerekiyorsa ReWriteCond tanımı,

RewriteCond $1 !^(index\.php|images|robots\.txt|css|javascript)

şeklinde revize edilmelidir. Bu satıra göre index.php , robots.txt, css ve javascript klasörü altındaki tüm dosyalar re-direction’dan etkilenmeyecektir.

ReWrite Rule’umuz ise  Apache sunucusunu DOCUMENT_ROOT klasörünü başlangıç olarak alacak şekilde dizinlenecektir. Projemiz index.php dosyası kök dizindeki projem klasörü altında olduğu için

RewriteRule ^(.*)$ /projem/index.php/$1 [L]

şeklinde tanıtılmıştır. Şayet direk kök dizindeyseniz ;

RewriteRule ^(.*)$ /index.php/$1 [L]

şeklinde bir tanım yapılmalıydı.

.htaccess dosyasını oluşturduktan sonra, application/config/config.php dosyası içerisindeki,

$config['index_page'] = 'index.php';

satırını

$config['index_page'] = '';

şeklinde tanımlamlıyız.

Artık projemizi

http://sunucu/projem/controlleradi
veya
http://sunucu/controlleradi

şeklinde çağırabiliriz.

Detaylı bilgi : http://codeigniter.com/user_guide/general/urls.html adresine bakabilirsiniz.