Bu makalede Codeigniter URL yapısından index.php yazısını kaldırmayı öğreneceğiz. Bazı arkadaşlar daha düzenli görünüm için bu yazıyı kaldırmak isteyebilirler, ayrıca SEO açısındanda bu yazıyı kaldırmak bize avantaj sağlayacaktır. İşlemleri anlatmadan önce Codeigniter'ın URL yapısına bakalım;
benimsitem.com/class(controller)/function/ID
Codeigniter'da şöyle bir adresimiz olduğunu varsayalım;
benimsitem.com/index.php/oyunlar(controller)/oyunadi(function)/maxpayne
Şimdi bu adresten index.php yazısını silmeye geçelim.
index.php yazısını kaldırmak için bize .htaccess ve Codeigniter'ın config.php (application/config/config.php) dosyaları gereklidir.
1) Eğer .htaccess dosyanız yoksa kök dizine bir tane .htaccess dosyası oluşturun (Kök dizin: application, system vb. dosyaların olduğu yer).
Dosyanın içine şu kodları kopyalayın;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
2) Codeigniter'ın config.php (application/config/config.php) dosyasını açın.
a) $config['index_page'] = 'index.php'; değerini $config['index_page'] = ''; olarak değiştirin.
b) $config['uri_protocol'] = 'AUTO'; değerini $config['uri_protocol'] = 'REQUEST_URI'; olarak değiştirin.
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
Yapmanız gereken tüm işlemler bu kadar. Eğer doğru bir şekilde yaptıysak artık sitemize şu adresten girebiliriz demektir.
benimsitem.com/oyunlar/oyunadi/maxpayne
YORUMLAR