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.
Internet üzerinde kişisel ya da kurumsal kimliğinizi en iyi şekilde temsil etmenin yolları konusunda sizlere yardımcı olmak asıl işimizidir.