Codeigniter URL Yapısından index.php Kaldırma

Filed in Codeigniter | Genel | PHP | Programlama Leave a comment

Codeigniter URL yapısını SEO için düzenlemek gerektiğinde index.php bağlantısının tüm URL’lerden kaldıması için yine .htaccess kullanılmalıdır. Aşağıdaki .htaccess dosyası Codeigniter projesinin kök dizininde bulundurulmalı ve Codeigniter ayarlarının yapıldığı application->config->config.php dosyasındaki $config['index_page'] = ‘index.php’; değeri $config['index_page'] = ”; olarak değiştirilmelidir.

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

, , , ,

No input file specified hatası

Filed in Apache | Jaws | PHP | WordPress Leave a comment

Bu hata ile iki yerde karşılaştım. Biri WordPress diğeri Jaws CMS. Sanırım PHP’de bazı şeyler değişmiş :) açıkçası neyin değiştiğini araştırmadım ve çözüme yöneldim. Çözüm .htaccess dosyasından geçiyor. Aşağıdaki rewrite direktifleri benim için yeterli oldu. Kullandığınız kalıcı bağlantı yapısına göre kurallar değişiklik gösterebilir. Kendime uygun kuralı bulmak 1 günümü aldı diyebilirim. Bu süre aslında kayıp değil .htaccess öğrenmiş oldum hiç gerek yokken :)

Jaws İçin;

RewriteEngine On
RewriteRule ^index.php(.+)$ /index.php?/$1 [L]

WordPress İçin;

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

, ,

TOP