Skip to main content

Membuat template dinamis admin lte bootstrap dan codeigniter CI dengan ajax

Dalam kesempatan ini, kita akan memasang template admin dari framework bootstrap yang cukup terkenal yaitu ADMIN LTE, ya template ini cukup popular untuk template backend admin. Selain cukup responsive template ini lengkap dokumentasinya.



Untuk bahan bakunya (kaya mau bikin kue aja :D)

1.       HMVC CI 2, disini saya masi pake versi 2 :D dan yg sudah hmvc karena lebih enak untuk pengembangan lebih lanjut menurut saya, bisa di dapat disini, download hmvc ci 2
2.       Admin LTE template, saya masih menggunakan versi 2.4.0 bisa di dapat disini atau langsung download yg versi paling update
3.       Webserver, disini saya menggunakan WAPP karna saya akan menggunakan postgresql sebagai databasenya, tapi menggunakan XAMPP atapun WAMP tetep lancar jaya.
4.       Editor Text, yang saya gunakan Notepad++, bisa pake yg lain
5.       Kopi dan cemilan (ini ga wajib, tp kalau ada sukurlah)

Ok, setelah semua sudah tersedia, maka exctralah, ke folder htdocs atau folder yg anda buat, utk, dan juga extract file admin lte.

Utk templating kita akan bagi menjadi 4 bagian, yaitu header, sidebar, content, dan footer, dan buat satu folder assets utk menampung css,js dll dari template . 
copy folder dist,plugins,bower_components,build ke folder assets yang tadi di buat, dan buat folder image utk menampung gambar yg mungkin akan kita butuhkan kedepannya strukturnya di CI akan seperti ini
-Application
-assets
--dist
--plugins
--image
-system
-user_guide

-index.php

kita buat sebuah file library di application/libraries dengan nama template.php


class Template {

 protected $_ci;

 function __construct()
 {
  $this->_ci =&get_instance();
 }
 function display($template,$data=null)
 {
  if(!$this->is_ajax()){  
   $data['_head']=$this->_ci->load->view('adminlte/head',$data, true);
   $data['_header']=$this->_ci->load->view('adminlte/header',$data, true);
   $data['_sidebar']=$this->_ci->load->view('adminlte/sidebar',$data, true);
   $data['_content']=$this->_ci->load->view($template, $data, true);
   $data['_footer']=$this->_ci->load->view('adminlte/footer',$data, true);
   $data['_js']=$this->_ci->load->view('adminlte/js',$data, true);
   $this->_ci->load->view('/adminlte.php',$data);
  }
  else
  {
   $this->_ci->load->view($template,$data);
  }
 }

 function is_ajax()
 {
  return ($this->_ci->input->server('HTTP_X_REQUESTED_WITH')&&($this->_ci->input->server('HTTP_X_REQUESTED_WITH')=='XMLHttpRequest'));
 }
}   
 


di library template kita akses beberapa file dari view yaitu head,header,sidebar,content, footer dan js

kita buat sebuah file adminlte.php copykan isi file index.html dari template Admin lte ke file ini.

dan lakukan modifikasi seperti berikut.

<!DOCTYPE html>
<html>
<?php echo $_head; ?>
<body class="hold-transition skin-red-light sidebar-mini">
<div class="wrapper">

  <?php echo $_header; ?>
  <!-- Left side column. contains the logo and sidebar -->
  <aside class="main-sidebar">
<?php echo $_sidebar; ?>
  </aside>

  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <h1>
        Dashboard
        <small>Control panel</small>
      </h1>
      <ol class="breadcrumb">
        <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
        <li class="active">Dashboard</li>
      </ol>
    </section>

    <!-- Main content -->
    <section class="content">
      <!-- Small boxes (Stat box) -->
      <?php echo $_content; ?>

    </section>
    <!-- /.content -->
  </div>
  <!-- /.content-wrapper -->
  <?php echo $_footer; ?>

  <!-- Control Sidebar -->

  <!-- /.control-sidebar -->
  <!-- Add the sidebar's background. This div must be placed
       immediately after the control sidebar -->
  <div class="control-sidebar-bg"></div>
</div>
<!-- ./wrapper -->

<?php echo $_js; ?>
<div class="loading" style="position: fixed; bottom: 10px; right: 10px; z-index: 1000; display: none">
  <img src="/assets/image/loading.gif">
</div>
<!-- ./wrapper -->


<script>
$(document).ready(function(){
$( document ).ajaxStart(function() {
$(".loading").fadeIn();
}).ajaxStop(function(){
$(".loading").fadeOut();
}); 
$('.ajax').click(function(e){
e.preventDefault();
$.get($(this).attr('href'),function(Res){
$('.content').html(Res);
});
})
})
</script>
</body>
</html>

kemuadian buat folder adminlte di view hingga struktrnya menjadi seperti ini
-application
--view
---adminlte.php
---adminlte
----head.php
----header.php
----siderbar.php
----footer.php
----js.php

isi dari head.php seperti ini, berikut adalah potongan dari file index.html yang hanya menggambil bagian head yg berisi css dan link di sesuaikan.


<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>AdminLTE 2 | Dashboard</title>
  <!-- Tell the browser to be responsive to screen width -->
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  <!-- Bootstrap 3.3.7 -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/bootstrap/dist/css/bootstrap.min.css">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/font-awesome/css/font-awesome.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/Ionicons/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/dist/css/AdminLTE.min.css">
  <!-- AdminLTE Skins. Choose a skin from the css/skins
       folder instead of downloading all of them to reduce the load. -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/dist/css/skins/_all-skins.min.css">
  <!-- Morris chart -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/morris.js/morris.css">
  <!-- jvectormap -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/jvectormap/jquery-jvectormap.css">
  <!-- Date Picker -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css">
  <!-- Daterange picker -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bower_components/bootstrap-daterangepicker/daterangepicker.css">
  <!-- bootstrap wysihtml5 - text editor -->
  <link rel="stylesheet" href="<?php echo base_url(); ?>assets/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">

  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->

  <!-- Google Font -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
</head>

file header berisi bagian template yang kita potong sebagai header, file ini nantinya akan berhubungan dengan session utk login di admin. potongan ini berasal dari file index.html bagian <header>

<header class="main-header">
    <!-- Logo -->
    <a href="<?php echo site_url('welcome'); ?>" class="logo">
      <!-- mini logo for sidebar mini 50x50 pixels -->
      <span class="logo-mini"><b>A</b>LT</span>
      <!-- logo for regular state and mobile devices -->
      <span class="logo-lg"><b>Admin</b>LTE</span>
    </a>
    <!-- Header Navbar: style can be found in header.less -->
    <nav class="navbar navbar-static-top">
      <!-- Sidebar toggle button-->
      <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
        <span class="sr-only">Toggle navigation</span>
      </a>

      <div class="navbar-custom-menu">
        <ul class="nav navbar-nav">
          <!-- Messages: style can be found in dropdown.less-->
          <li class="dropdown messages-menu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              <i class="fa fa-envelope-o"></i>
              <span class="label label-success">4</span>
            </a>
            <ul class="dropdown-menu">
              <li class="header">You have 4 messages</li>
              <li>
                <!-- inner menu: contains the actual data -->
                <ul class="menu">
                  <li><!-- start message -->
                    <a href="#">
                      <div class="pull-left">
                        <img src="<?php echo base_url(); ?>assets/dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
                      </div>
                      <h4>
                        Support Team
                        <small><i class="fa fa-clock-o"></i> 5 mins</small>
                      </h4>
                      <p>Why not buy a new awesome theme?</p>
                    </a>
                  </li>
                  <!-- end message -->
                  <li>
                    <a href="#">
                      <div class="pull-left">
                        <img src="<?php echo base_url(); ?>assets/dist/img/user3-128x128.jpg" class="img-circle" alt="User Image">
                      </div>
                      <h4>
                        AdminLTE Design Team
                        <small><i class="fa fa-clock-o"></i> 2 hours</small>
                      </h4>
                      <p>Why not buy a new awesome theme?</p>
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <div class="pull-left">
                        <img src="<?php echo base_url(); ?>assets/dist/img/user4-128x128.jpg" class="img-circle" alt="User Image">
                      </div>
                      <h4>
                        Developers
                        <small><i class="fa fa-clock-o"></i> Today</small>
                      </h4>
                      <p>Why not buy a new awesome theme?</p>
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <div class="pull-left">
                        <img src="<?php echo base_url(); ?>assets/dist/img/user3-128x128.jpg" class="img-circle" alt="User Image">
                      </div>
                      <h4>
                        Sales Department
                        <small><i class="fa fa-clock-o"></i> Yesterday</small>
                      </h4>
                      <p>Why not buy a new awesome theme?</p>
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <div class="pull-left">
                        <img src="<?php echo base_url(); ?>assets/dist/img/user4-128x128.jpg" class="img-circle" alt="User Image">
                      </div>
                      <h4>
                        Reviewers
                        <small><i class="fa fa-clock-o"></i> 2 days</small>
                      </h4>
                      <p>Why not buy a new awesome theme?</p>
                    </a>
                  </li>
                </ul>
              </li>
              <li class="footer"><a href="#">See All Messages</a></li>
            </ul>
          </li>
          <!-- Notifications: style can be found in dropdown.less -->
          <li class="dropdown notifications-menu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              <i class="fa fa-bell-o"></i>
              <span class="label label-warning">10</span>
            </a>
            <ul class="dropdown-menu">
              <li class="header">You have 10 notifications</li>
              <li>
                <!-- inner menu: contains the actual data -->
                <ul class="menu">
                  <li>
                    <a href="#">
                      <i class="fa fa-users text-aqua"></i> 5 new members joined today
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <i class="fa fa-warning text-yellow"></i> Very long description here that may not fit into the
                      page and may cause design problems
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <i class="fa fa-users text-red"></i> 5 new members joined
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <i class="fa fa-shopping-cart text-green"></i> 25 sales made
                    </a>
                  </li>
                  <li>
                    <a href="#">
                      <i class="fa fa-user text-red"></i> You changed your username
                    </a>
                  </li>
                </ul>
              </li>
              <li class="footer"><a href="#">View all</a></li>
            </ul>
          </li>
          <!-- Tasks: style can be found in dropdown.less -->
          <li class="dropdown tasks-menu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              <i class="fa fa-flag-o"></i>
              <span class="label label-danger">9</span>
            </a>
            <ul class="dropdown-menu">
              <li class="header">You have 9 tasks</li>
              <li>
                <!-- inner menu: contains the actual data -->
                <ul class="menu">
                  <li><!-- Task item -->
                    <a href="#">
                      <h3>
                        Design some buttons
                        <small class="pull-right">20%</small>
                      </h3>
                      <div class="progress xs">
                        <div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar"
                             aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
                          <span class="sr-only">20% Complete</span>
                        </div>
                      </div>
                    </a>
                  </li>
                  <!-- end task item -->
                  <li><!-- Task item -->
                    <a href="#">
                      <h3>
                        Create a nice theme
                        <small class="pull-right">40%</small>
                      </h3>
                      <div class="progress xs">
                        <div class="progress-bar progress-bar-green" style="width: 40%" role="progressbar"
                             aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
                          <span class="sr-only">40% Complete</span>
                        </div>
                      </div>
                    </a>
                  </li>
                  <!-- end task item -->
                  <li><!-- Task item -->
                    <a href="#">
                      <h3>
                        Some task I need to do
                        <small class="pull-right">60%</small>
                      </h3>
                      <div class="progress xs">
                        <div class="progress-bar progress-bar-red" style="width: 60%" role="progressbar"
                             aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
                          <span class="sr-only">60% Complete</span>
                        </div>
                      </div>
                    </a>
                  </li>
                  <!-- end task item -->
                  <li><!-- Task item -->
                    <a href="#">
                      <h3>
                        Make beautiful transitions
                        <small class="pull-right">80%</small>
                      </h3>
                      <div class="progress xs">
                        <div class="progress-bar progress-bar-yellow" style="width: 80%" role="progressbar"
                             aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
                          <span class="sr-only">80% Complete</span>
                        </div>
                      </div>
                    </a>
                  </li>
                  <!-- end task item -->
                </ul>
              </li>
              <li class="footer">
                <a href="#">View all tasks</a>
              </li>
            </ul>
          </li>
          <!-- User Account: style can be found in dropdown.less -->
          <li class="dropdown user user-menu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              <img src="<?php echo base_url(); ?>assets/dist/img/user2-160x160.jpg" class="user-image" alt="User Image">
              <span class="hidden-xs">Alexander Pierce</span>
            </a>
            <ul class="dropdown-menu">
              <!-- User image -->
              <li class="user-header">
                <img src="<?php echo base_url(); ?>assets/dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">

                <p>
                  Alexander Pierce - Web Developer
                  <small>Member since Nov. 2012</small>
                </p>
              </li>
              <!-- Menu Body -->
              <li class="user-body">
                <div class="row">
                  <div class="col-xs-4 text-center">
                    <a href="#">Followers</a>
                  </div>
                  <div class="col-xs-4 text-center">
                    <a href="#">Sales</a>
                  </div>
                  <div class="col-xs-4 text-center">
                    <a href="#">Friends</a>
                  </div>
                </div>
                <!-- /.row -->
              </li>
              <!-- Menu Footer-->
              <li class="user-footer">
                <div class="pull-left">
                  <a href="#" class="btn btn-default btn-flat">Profile</a>
                </div>
                <div class="pull-right">
                  <a href="#" class="btn btn-default btn-flat">Sign out</a>
                </div>
              </li>
            </ul>
          </li>
          <!-- Control Sidebar Toggle Button -->          
        </ul>
      </div>
    </nav>
  </header>

berikutnya adalah sidebar, di file sidebar ini kita nantinya akan membuat manajemen menu, ini adalah potongan dari index.html yang berisi class sidebar

    <!-- sidebar: style can be found in sidebar.less -->
    <section class="sidebar">
      <!-- Sidebar user panel -->
      <div class="user-panel">
        <div class="pull-left image">
          <img src="<?php echo base_url(); ?>assets/dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
        </div>
        <div class="pull-left info">
          <p>Alexander Pierce</p>
          <a href="#"><i class="fa fa-circle text-success"></i> Online</a>
        </div>
      </div>
      <!-- search form -->
      <form action="#" method="get" class="sidebar-form">
        <div class="input-group">
          <input type="text" name="q" class="form-control" placeholder="Search...">
          <span class="input-group-btn">
                <button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i>
                </button>
              </span>
        </div>
      </form>
      <!-- /.search form -->
      <!-- sidebar menu: : style can be found in sidebar.less -->
      <ul class="sidebar-menu" data-widget="tree">
        <li class="header">MAIN NAVIGATION</li>
        <li class="active treeview">
          <a href="#">
            <i class="fa fa-dashboard"></i> <span>Dashboard</span>
            <span class="pull-right-container">
              <i class="fa fa-angle-left pull-right"></i>
            </span>
          </a>
          <ul class="treeview-menu">
            <li class="active"><a class="ajax" href="<?php echo base_url('welcome/welcome');?>"><i class="fa fa-circle-o"></i> Welcome</a></li>
            <li><a class="ajax" href="<?php echo base_url('welcome/trial'); ?>"><i class="fa fa-circle-o"></i> Trial</a></li>
          </ul>
        </li>
        </li>        
        <li class="header">LABELS</li>
        <li><a href="#"><i class="fa fa-circle-o text-red"></i> <span>Proses Template</span></a></li>        
      </ul>
    </section>
    <!-- /.sidebar -->

kemudian file footer, file untuk memberikan keterangan footer admin panel anda

<footer class="main-footer">
    <div class="pull-right hidden-xs">
      <b>Version CI</b> 0.0.1
    </div>
    <strong>Copyright &copy; 2014-<?php echo date('Y'); ?> </strong> TEMPLATE ADMIN LTE2.
  </footer>

dan terakhir adalah file js.php file ini berisi link javascript yg di butuhkan


<!-- jQuery 3 -->
<script src="<?php echo base_url(); ?>assets/bower_components/jquery/dist/jquery.min.js"></script>
<!-- jQuery UI 1.11.4 -->
<script src="<?php echo base_url(); ?>assets/bower_components/jquery-ui/jquery-ui.min.js"></script>
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
<script>
  $.widget.bridge('uibutton', $.ui.button);
</script>
<!-- Bootstrap 3.3.7 -->
<script src="<?php echo base_url(); ?>assets/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Sparkline -->
<script src="<?php echo base_url(); ?>assets/bower_components/jquery-sparkline/dist/jquery.sparkline.min.js"></script>
<!-- jvectormap -->
<script src="<?php echo base_url(); ?>assets/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
<script src="<?php echo base_url(); ?>assets/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
<!-- jQuery Knob Chart -->
<script src="<?php echo base_url(); ?>assets/bower_components/jquery-knob/dist/jquery.knob.min.js"></script>
<!-- daterangepicker -->
<script src="<?php echo base_url(); ?>assets/bower_components/moment/min/moment.min.js"></script>
<script src="<?php echo base_url(); ?>assets/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- datepicker -->
<script src="<?php echo base_url(); ?>assets/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js"></script>
<!-- Bootstrap WYSIHTML5 -->
<script src="<?php echo base_url(); ?>assets/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
<!-- Slimscroll -->
<script src="<?php echo base_url(); ?>assets/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<!-- FastClick -->
<script src="<?php echo base_url(); ?>assets/bower_components/fastclick/lib/fastclick.js"></script>
<!-- AdminLTE App -->
<script src="<?php echo base_url(); ?>assets/dist/js/adminlte.min.js"></script>

dan yang paling penting karena kita menggunakan hmvc dan menghilangkan index.php di url supaya lebih enak di lihat. kita harus membuat file httaces untuk menghilangkan index.php di url dan setting file config dapat di baca disini.

untuk menjalankan template secara otomatis maka ubah application/config/config.php

baris $autoload['libraries'] = array(); menjadi $autoload['libraries'] = array('template');

maka template anda sudah bisa di gunakan






Comments

Popular posts from this blog

Koneksi CI (Codeigniter) dengan Postgresql

Hai, Ketika kita belajar PHP atau CI, mayoritas kita akan di kenalkan dengan mysql sebagai databasenya. kali ini saya akan berbagai pengetahuan saya yang secuil ini. untuk menyambungkan codeigniter dengan postgresql. buka file database.php di folder application/config/ $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'postgres'; //User anda di Postgresql $db['default']['password'] = ''; //password anda di Postgresql $db['default']['database'] = 'datane'; //database postgresql $db['default']['dbdriver'] = 'postgre'; //db driver di ubah $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'

Konfigurasi XAMPP dengan Postgresql (Cara menyambungkan XAMPP dengan postgresql)

Berlaku di windows, jika kita menginstall XAMPP secara default maka database yang tersambung adalah Mysql, bagaimana jika kita membuat system yang menggunakan database postgresql tetapi kita tetap menggunakan xampp. padahal sudah di install database postgre tapi tetep tidak nyambung, maka setiingan koneksi di php.ini harus rubah  supaya bisa terkoneksi ke postgresql. Cari File php.in di folder xampp, biasanya jika secara default installan xampp di windows maka, php.ini berada di C:\xampp\php\php.ini atau buka folder xampp dan cari php.ini dengan fitur pencarian. buka dengan editor kesayangan anda. disini saya menggunakan notepad++ cari ;extension=php_pdo_pgsql.dll dan ;extension=php_pgsql.dll hapus extension=php_pdo.dll ;extension=php_pdo_dblib.dll ;extension=php_pdo_firebird_firebird.dll ;extension=php_pdo_firebird_interbase.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql_mysqlnd.dll extension=php_pdo_mysql_libmysql.dll extension=php_pdo_odbc.dll ;extension=

Menghilangkan index.php di url codeigniter dengan httacces

Default dari url browser CI adalah www.webkita.com/index.php/welcome supaya bisa lebih enak di lihat mendjadi www.webkita.com/welcome maka kita perlu file httaacess buat file httaccess dengan notepad tanpa extensi apapun, isinya adalah sebagai berikut # request to index.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L] simpan file tersebut, kemudian edit file config.php di application/config/config.php ubah baris $config['index_page'] = 'index.php'; menjadi $config['index_page'] = ''; kemudian edit file autoload.php di application/config/autoload.php ubah baris  $autoload['helper'] = array('');  menjadi $autoload['helper'] = array('url'); coba akses CI tanpa index.php maka web anda sudah bisa di akses, dan bisa di optima