Selamlar. bu aralar codeignitier e merak saldım.
deneme bir uygulama yapıyorum ve bu uygulamada index.php olmasını istemiyorum.
applications/config/config.php içeriğini şu şekilde değiştirdim
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
applications/config/routes.php de default application olarak şunu yazdım
$route['default_controller'] = "deneme";
daha sonra bir htaccess ekledim ana klasöre RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]controllers/deneme.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class deneme extends CI_Controller {
public function index()
{
$this->load->view('deneme_view');
}
public function bla()
{
$this->load->view('bla_view');
}
}
?>views/deneme_view.php selaamlar bu bir denemedir
views/bla_view.php selamlar bu bir bla bla dır
bu şekilde hazırladım
siteadresi.com/ci <- CODEIGNITIER Burada kurulu
siteadresi.com/ci/bla
siteadresi.com/ci/index.php/deneme/bla
siteadresi.com/ci/deneme/bla yazıyorum bu 4 şekilde de hem deneme_view.php den de bla.php sorunsuz çalışıyor.
siteadresi.com/ci yazınca direkt deneme.php ye yönleniyor çünkü config.php den öyle ayarlı.
Buraya kadar herşey normal ancak
siteadresi.com/bla
yazıyorum
The page you requested was not found.
hatası veriyor. default route olarak deneme ayarlı olduğuna göre
deneme/bla olarak algılaması gerekmiyor mu? apache modrewrite filan açık. epeyce araştırdım denilenleri yaptım olmadı. yardımcı olabilirseniz sevinirim.
saygılar.