Muhammad Ariffudin A career shifting SEO Content Writer from Web Programming educational background. For him, writing is like a remedy after battling against bugs and errors.

Cara Menghilangkan Index.php di CodeIgniter

4 min read

Featured Image Cara Menghilangkan Index.php di CodeIgniter

File index.php adalah file dasar untuk mengelola tampilan website pada CodeIgniter. Secara default, file index.php akan otomatis ditambahkan ketika Anda mengakses URL website.

Misalnya untuk mengakses halaman artikel pada website Anda, URL perlu ditulis seperti ini: https://websiteanda.com/index.php/artikel

Tapi, bukankah URL website harusnya dibuat sesimpel mungkin agar mudah diakses pengunjung dan ramah terhadap mesin pencari?

Benar sekali! Maka dari itu, Anda perlu menghilangkan file index.php tersebut. Untungnya di artikel kali ini, kami akan membahas cara menghilangkan index.php di CodeIgniter dengan lengkap, yaitu secara online maupun offline.

Penasaran kan? Yuk, ikuti langkah-langkahnya!

Menghilangkan Index.php Codeigniter Secara Online

Menghilangkan index.php CodeIgniter dapat dilakukan melalui cPanel Hosting hanya dengan tiga langkah saja loh, yaitu :

  1. Mengedit File config.php
  2. Membuat File .htaccess
  3. Melakukan Testing

Namun, sebelum memulai proses menghilangkan index.php CodeIgniter, pastikan Anda memahami cara kerja codeigniter terlebih dahulu. Hal ini akan mempermudah Anda untuk mengikuti tutorial kali ini.

Baca Juga : Panduan Install CodeIgniter di Hosting

Yuk, simak penjelasan detail cara menghilangkan index.php di CodeIgniter di bawah ini!

1. Mengedit File config.php

Pertama-tama, bukalah project codeigniter dengan cara masuk ke cPanel hosting Anda terlebih dahulu. Pilih fitur File Manager, lalu masuklah ke direktori public_html

Mengedit file config.php dengan membuka file manager terlebih dahulu

Kemudian, bukalah folder application, lalu masuk ke folder config. Carilah file config.php seperti pada gambar di bawah ini. 

Memilih file config.php dan mengeditnya sesuai kebutuhan

Untuk melakukan pengeditan, klik kanan pada file, lalu pilih Edit. Scroll ke bawah dan carilah bagian index_page.

Mengedit file config.php (3)

Edit bagian index_page dengan menghilangkan index.php yang berada diantara tanda petik tunggal sehingga menjadi seperti ini :

$config['index_page'] = '';

2. Membuat File .htaccess

Langkah selanjutnya adalah membuat file .htaccess pada direktori root codeigniter. Caranya, klik fitur tambah file pada bagian kiri atas File Manager.

Membuat file .htaccess (1)

Beri nama file dengan .htaccess. Ingat untuk mengawali namanya dengan tanda titik ‘.’ dan jangan menggunakan ekstensi apapun, karena .htaccess merupakan file yang tidak berekstensi. Jika sudah, silahkan klik Create New File.

Membuat file .htaccess (2)

Jangan panik jika Anda tidak melihat file yang baru saja dibuat pada direktori root Anda. File atau folder yang diawali dengan tanda titik akan tersembunyi. Jadi, Anda harus melakukan sedikit pengaturan pada File Manager untuk menampilkan file.

Jika file .htaccess sudah muncul, mulailah melakukan pengeditan dengan memasukkan kode di bawah ini.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Jangan lupa untuk menyimpan file dengan meng-klik tombol Save Changes.

Baca Juga : Panduan Menggunakan .htaccess untuk Pemula

3. Melakukan Testing

Untuk memastikan apakah url sudah dapat diakses tanpa index.php atau belum, Anda dapat melakukan pengecekan dengan membuat controller baru. 

Contoh kode di bawah, kami membuat controller dengan nama Hilang.php yang bertujuan untuk mengarahkan tampilan ke view yang sudah dibuat. Anda dapat mengubah nama file pada view sesuai dengan nama file Anda.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hilang extends CI_Controller {
	
	public function index(){
		
		$this->load->view('hilangkan_indexphp_CI');
	}

}

Setelah membuat controller, jangan lupa untuk mendaftarkannya ke route.php agar rutenya dapat terbaca. Buka folder config, lalu edit file routes.php. Tambahkan route baru seperti ini :

Testing menghilangkan index.php CI
$route[‘artikel’] = ‘hilang’;

‘artikel’ merupakan nama rute Anda yang akan diakses pada url, sedangkan ‘hilang’ adalah nama controller yang Anda buat sebelumnya.  

Nah, semua langkah sudah selesai. Kini, Anda dapat langsung mengakses alamat website tanpa index.php. Di contoh kali ini kami mengakses websitepercobaan.com/artikel dengan hasil sebagai berikut:

Cara Menghilangkan index.php pada CodeIgniter

Baca Juga : Cara Membuat PHP Session Login Logout dengan Mudah

Menghilangkan Index.php di CodeIgniter Secara Offline di Localhost

Jika website CodeIgniter Anda belum di upload ke layanan hosting, Anda bisa mengeditnya secara offline melalui localhost. Mari ikuti langkah-langkahnya!

Langkah 1: Persiapan

Nah, mengikuti cara menghilangkan index.php di CodeIgniter, ada beberapa hal yang harus Anda persiapkan, yaitu:

  1. Text editorDigunakan untuk mengedit source code pada project CodeIgniter. Di sini kami memakai text editor Sublime Text.
  2. Web browserBerfungsi untuk menampilkan project CodeIgniter di browser. Kali ini kami menggunakan web browser Google Chrome.
  3. Web serverBerguna untuk menyimpan dan mengakses project CodeIgniter di localhost. Kami menggunakan web server XAMPP. Cara mengaktifkannya dengan membuka XAMPP lalu klik Start pada modul Apache.
menghilangkan index.php codeigniter langkah 1
  1. Folder project CodeIgniter – Folder ini disimpan pada folder instalasi default XAMPP. Anda bisa mengaksesnya di c:\xampp\htdocs. Kali ini kami menamai folder project dengan niagahoster.
cara menghilangkan index.php codeigniter langkah 1.1

Jika Anda sudah menyiapkan semuanya, yuk ikuti langkah-langkah berikutnya. 

Baca juga: Pengertian XAMPP Lengkap dan Cara Menggunakannya

Langkah 2: Buka Project CodeIgniter

Buka Sublime Text, lalu buka folder project Anda dengan cara klik File > Open Folder. Lalu cari file project Anda di htddocs.

menghilangkan index.php codeigniter langkah 2

Begini kurang lebih tampilan project CodeIgniter yang sudah dibuka di Sublime Text:

cara menghilangkan index.php codeigniter langkah 2.1

Langkah 3: Buat File .htaccess

Buat file .htaccess dengan cara klik File > New File. Lalu ketikkan source code berikut ini:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Tampilannya seperti berikut pada Sublime Text:

menghilangkan index.php codeigniter langkah 3

Jika sudah, simpan dengan nama file .htaccess (tanpa ekstensi apapun) pada root folder project CodeIgniter Anda. Satu tempat dengan folder application, system, dan user guide. Ingat ya, tanpa ekstensi!

cara menghilangkan index.php codeigniter langkah 3.1

Langkah 4: Edit File config.php

Selanjutnya, buka file config.php pada folder application > config > config.php. Cari konfigurasi index_page dengan source code seperti berikut:

$config['index_page'] = 'index.php';

Ubah menjadi:

$config['index_page'] = '';

Seperti ini tampilannya jika dilihat menggunakan Sublime Text:

cara menghilangkan index.php codeigniter langkah 4

Jangan lupa untuk menyimpan jika sudah selesai mengedit file tersebut.

Langkah 5: Buat Controller dan View Baru

Untuk mengecek apakah Anda sudah berhasil menghilangkan index.php di CodeIgniter, Anda bisa membuat masing-masing satu Controller dan View baru. 

Untuk Controller, caranya dengan klik kanan pada folder controllers > New file. Paste-kan source code di bawah ini:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Blog extends CI_Controller {

	public function index()
	{
		$this->load->view('codeigniter');
	}
}

Sedangkan untuk View, caranya hampir sama. Anda cukup klik kanan folder views > New file. Kemudian pasti source code berikut:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Welcome to CodeIgniter</title>
</head>
<body>

<div id="container">
	<h1>Yuk Belajar CodeIgniter! | Niagahoster Blog</h1>

</div>

</body>
</html>

Jika sudah, simpan file dengan nama codeigniter.php.

Baca juga: Pengertian Model, View, dan Controller

Langkah 6: Akses URL melalui Browser

Untuk mengetahui apakah Anda sudah berhasil menghilangkan index.php di CodeIgniter, Anda perlu mencobanya melalui browser. Caranya buka web browser Anda, lalu ketikkan localhost/namaprojectanda/namacontroller pada Address Bar.

Jika sebelumnya kami harus mengetikkan localhost/niagahoster/index.php/blog seperti berikut:

menghilangkan index.php codeigniter langkah 6

Maka sekarang kami bisa menulis URL menjadi localhost/niagahoster/blog. Jika berhasil, Anda akan melihat tampilan seperti ini:

menghilangkan index.php codeigniter langkah 6.1

Selamat! Anda telah berhasil menghilangkan file index.php pada project CodeIgniter. Mudah sekali bukan? Kini URL Anda terlihat lebih simpel dan rapi.

Baca juga: Cara Mengatasi Undefined Index dan Undefined Variable PHP

Kesimpulan 

CodeIgniter merupakan salah satu framework PHP  terbaik dan terpopuler dalam pengembangan website.  Fitur dan fungsinya tidak usah diragukan lagi. 

URL CodeIgniter didesain untuk mendukung SEO dan human friendly. Pun demikian, CodeIgniter menambahkan index.php pada URL-nya secara default. Untuk membuatnya ringkas, cukup ikuti cara menghilangkan index.php CodeIgniter pada penjelasan di atas.

Nah, apakah Anda tertarik untuk mulai menggunakan CodeIgniter?

Tak perlu khawatir, Anda dapat mengembangkan website CodeIgniter dengan mudah menggunakan layanan hosting dari Niagahoster.

Dibekali fitur lengkap seperti server tercepat LiteSpeed, SSL gratis untuk meningkatkan keamanan hingga perlindungan keamanan oleh Imunify360, website Anda akan mudah diakses kapan saja.

Menariknya, semua itu bisa Anda dapatkan dengan hanya Rp.27 ribu/bulan!

Semoga informasi ini bermanfaat ya!  Selamat mencoba 🙂

Muhammad Ariffudin A career shifting SEO Content Writer from Web Programming educational background. For him, writing is like a remedy after battling against bugs and errors.

Leave a Reply

Your email address will not be published. Required fields are marked *