Cara membuat HTTPS CodeIgniter dengan redirect HTTP to HTTPS

Untuk melakukan konfigurasi atau membuat https di CodeIgniter, di sini kita perlu site atau domain sudah mendapatkan SSL.
SSL CodeIgniter
SSL HTPS CodeIgniter

Sebelum melanjutkan set SSL  atau set https CodeIgniter, agar performa lebih baik Silahkan konfigurasi dahulu file .htaccess dengan clean URL CodeIgniter dan base_url dinamis CodeIgniter.

Ada beberapa cara untuk redirect http to https CodeIgniter, yaitu dengan .htaccess dan Hook. atau mungkin ada cara lagi silahkan bisa di tambakan di komentar.
Di sini saya akan menggunakan konfigurasi Redirect SSL HTTPS CodeIgniter menggunakan Hook yang sudah tersedia di konfigurasi CodeIgniter.

Okeh langsung saja membuat CodeIgniter HTTPS, pada langkah awal silahkan buka setting konfigrasi di config.php dengan path sebagai berikut application\config\config.php
Setting Enable hooks menjadi true 
$config['enable_hooks'] = TRUE;

Kemudian tambahkan beberapa konfigurasi di hooks.php di path application\config\hooks.php
$hook['post_controller_constructor'][] = array(
    'function' => 'redirect_ssl',
    'filename' => 'ssl.php',
    'filepath' => 'hooks'
);

Dan untuk langkah terakhir buat file ssl.php di path folder application\hooks\
dengan code ssl.php sebagai berikut :
<?php

  function redirect_ssl() 
  {
    $CI =& get_instance();
    $class = $CI->router->fetch_class();
    $exclude =  array(' ');  // tambahkan controller yang tidak di set SSL.
    if(!in_array($class,$exclude)) 
    {
      // redirecting to ssl.
      $CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);
      if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());
    } 
    else 
    {
      // redirecting with no ssl.
      $CI->config->config['base_url'] = str_replace('https://', 'http://', $CI->config->config['base_url']);
      if ($_SERVER['SERVER_PORT'] == 443) redirect($CI->uri->uri_string());
    }
  }
  
?>

Ok silahkan di run , semoga berhasil dan ini tested by me ^_^..
terima kasih demikian Cara membuat https atau redirect http to https CodeIgniter dengan SSL

Comments

Post a Comment