CodeIgniter 3 – index.php Kaldırma Yöntemleri

4 Ocak 2019 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

CodeIgniter en sevdiğim Framework. Çünkü kullanımı çok basit ve herhangi ekstra bir araç veya ön yükleyiciye ihtiyaç duymuyor olması..!

CodeIgniter’a yeni başlayanların en büyük sorunlarından bir tanesi de index.php dosyasını adres satırından kaldırmak. Adres satırında; çok kötü bir görüntüye sebebiyet veriyor.

index.php dosyasını kaldırmanın birden fazla yöntemi var. Bu yöntemler de .htaccess ile gerçekleştiriliyor.

CodeIgniter’ın kendi sayfasında bu yöntemin nasıl gerçekleştirileceği detaylı olarak anlatılmış. Fakat bu yöntem; genel bir kullanım için. Yani herkesin kullandığı düzgün yapılandırılmış bir server ortamı içindir. Fakat bazen buradaki kodlarla çalışırken; hata aldığınızı veya index.php’in kaldırılamadığını gözlemleyebilirsiniz. Bu da tabi ki kullandığınız hosting sağlayıcı veya server tarafından kaynaklanıyor.

CodeIgniter’ın kendi sayfasındaki index.php kaldırma yöntemini buradan inceleyebilirsiniz.

index.php kaldırma, .htaccess ile yapılıyor dedik. Öncelikli olarak; projenizin kök dizininde; .htaccess adında bir dosya oluşturmalısınız.

Aşağıda tipik bir proje dizini yer almaktadır. Aynı zamanda .htaccess konumlandırılmasını da göstermektedir.

project-name/
|- application/
|- system/
|- user_guide/
|- index.php
|- .htaccess

Farklı ortamlar için de bir çok seçenek mevcuttur dedik. Bu seçenekler aşağıdaki gibidir.

Yöntem I:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L]

Yöntem II:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L]

Yöntem III:

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

Yöntem IV:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /project-name/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /project-name/index.php [L]
</IfModule>

Açıklamalar

NOT 1: IV. Yöntem kısmında; project-name yazan yere, kendi projenizin adını yazmanız gerekiyor.

NOT 2: I. Yöntem kısmında, CodeIgniter sitesinde belirtilen index.php kaldırma yöntemi. Fakat bunu kullanmaktan kaçınmanızı ve II. Yöntemi kullanmanızı tavsiye ederim. Genellikle; her yerde çalışan ve en az sıkıntısız satırlar, II. Yöntem satırlarıdır.

.htaccess dosyamızı düzenledikten sonra; küçük bir değişiklik daha yapmamız lazım.

Öncelikli olarak; application/config dosyası içerisindeki, config.php dosyasını açalım.

Aşağıdaki satırı bulalım (38. satır).

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

Yukarıdaki satırı aşağıdaki gibi değiştirelim ve dosyayı kaydedelim.

$config['index_page'] = '';

Yukarıdaki işlemlerimizden sonra; index.php dosyası adres satırından kaldırılacaktır.

Kategoriler: [CodeIgniter] Etiketler: #config #htaccess #index.php

Bir cevap yazın

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

*

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.