kişisel düşünceler, üstüne bir de teknoloji..

CodeIgniter Adresten index.php Kaldırma

Daha düzenli bir yazılım altyapısı ve geliştirme sürecini hızlandırmalarıyla kullanımları yaygınlaşan framework’ler artık vazgeçilmez haline geldi. Php framework’ler arasında da Codeigniter öne çıkıyor. Codeigniter ile yeni yeni proje geliştirmeye başlamış biri olarak memnunum. Neyse uzatmadan konuya giriyorum. Kodladığımız projelerde seo açısından url yapısına dikkat ederiz.

http://www.ahmetiscan.web.tr/index.php/firma/3 yerine http://www.ahmetiscan.web.tr/iscan-yazilim gibi bir url’yi tercih ederiz. Codeigniter’da da bunun ilk adımı url’den index.php yazısını kaldırmaktır. Bu işlemi çok basit bir .htaccess ayarı ile rahatlıkla yapabiliyoruz.

Şimdi ilk olarak application/config klasöründe yer alan config.php’yi açıyoruz.

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

satırını bularak

$config['index_page'] = '';

ile değiştiriyoruz.

Dosyayı kaydettikten sonra eğer .htaccess dosyamız yoksa bit tane .htaccess dosyası oluşturalım. Daha sonra .htaccess dosyasının içine aşağıdaki kodları yerleştirelim.

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

Şimdiye kadar yaptığımız işlemler index.php’nin adresten kalkması için yeterli aslında. Ama bazen uri_protocol sıkıntı çıkarabiliyor. Bunun önüne geçmek için daha önceden açıp düzenlediğimiz application/config/config.php tekrar açıyoruz.

$config['uri_protocol'] = 'AUTO';

satırını bularak

$config['uri_protocol'] = 'REQUEST_URI';

ile değiştiriyoruz.

3 Comments

  1. Joly

    Tesekkürler üstadim, güzel makale olmus.

  2. mert

    application/config nerede bulamıyorum

  3. mustafa

    .htaccess hangi dizinde oluşturacağız?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir