[Codeigniter] Url yapısından index.php kaldırmak

Bilindiği üzere codeigniter çatısında öntanımlı olarak gelen url yapısı şöyledir;

http://127.0.0.1/approot/index.php/controller_adi/metod_adi

Bu yazıda, bu url yapısını değiştirerek şunu elde edeceğiz;

http://127.0.0.1/approot/controller_adi/metod_adi

Adım adım ilerleyim

Adım-1

Uygulamanın /config/config.php dosyası içerisinde şu satırları düzenliyoruz


// Alttaki satırı bulun
$config['index_page'] = "index.php"

// Bu şekilde değiştirin
$config['index_page'] = ""

Adım-2

Uygulamanın ana dizinine yeni bir .htaccess dosyası oluşturalım. İçeriği şu şekilde olacak;

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

Adım-3

Bazı durumlarda uri_protocol tam anlamıyla çalışmıyor. Bu sorunun önüne geçmek için yine config.php dosyasında bir satırı düzenlemek gerekiyor.

//  Aşağıdaki satırı bulun

$config['uri_protocol'] = "AUTO"

//  Bu şekilde değiştirin

$config['uri_protocol'] = "REQUEST_URI"

Hepsi bu.

Yorum bırak

Email adresiniz yayınlanmayacaktır.İşaretli alanları doldurmak zorunludur *