25 Kasım 2017 Cumartesi

Codeigniter-Url yapısı ve .htaccess dosyası oluşuturma-5

Codeignaterda url yapısı   http://localhost/ci_blog/welcome/metor_ismi/parametre1/parametre2 şeklindeki gibidir.Yani ilk olarak controler ismi sonrada metot ismi,daha sonrada varsa parametreler gelmektedir.Mesela biz aşşağıdaki gibi welcome.php conteler içideki get_Message() metodunu çalıştıraliım.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
//sınıfımızın yapıcı fonksiyonu

 public function __construct()

    {

     //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır

        parent::__construct();

    } 
 public function index()

 {

  //url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.

  $this->load->view('welcome_message');

 }

 public function get_message()

 { 
        echo "get_mesage metodu"."  merhabalar...";

 } 

}
?>



 Bunun için  http://localhost/ci_blog/welcome/get_message yazmamız yeterli.Bunu yazıp çalıştırdığımızda normalde mesajımızın ekranda yazılması yazım ama aşağıdaki gibi hata mesajı almaktayız.




Bunun sebebi bizim .htaccess dosyamızın olmamasıdır.Şimdi projemizin ana dizinine altta resimde gözüktüğü gibi dosya oluşturuyoruz  ve adını ".htaccess" olarak kaydediyoruz.



Daha sonra bu dosyamızı açarak alltaki satırları ekliyoruz.

 RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule ^(.*)$ index.php?/$1 [L]


Bu satırların kısaca anlamı aşağıdaki gibidir.
  Enginemizi başlatıyoruz
  eğer gelen istek file değilse
  eğer gelen istek klasör değilse
  eğer bunlardan biri değilse bu isteği index.php ye gönder.

Evet şimdi url mizi yazıp çalıştırabilirz.Çıktımız aşağıdaki gibi olacaktır.








Hiç yorum yok:

Yorum Gönder

NodeJS-Socket.io Real Time Chat Uygulaması

Bu chat uygulmasını Node js ve socket.io kullanarak gerçekleştirdim.Veri tabanı olarak MySql kullandım.Kişiler Real time olarak birbirleriyl...