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 :
- Mengedit File config.php
- Membuat File .htaccess
- 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.
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.
Kemudian, bukalah folder application, lalu masuk ke folder config. Carilah file config.php seperti pada gambar di bawah ini.
Untuk melakukan pengeditan, klik kanan pada file, lalu pilih Edit. Scroll ke bawah dan carilah bagian index_page.
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.
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.
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.
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 :
$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:
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:
- Text editor – Digunakan untuk mengedit source code pada project CodeIgniter. Di sini kami memakai text editor Sublime Text.
- Web browser – Berfungsi untuk menampilkan project CodeIgniter di browser. Kali ini kami menggunakan web browser Google Chrome.
- Web server – Berguna untuk menyimpan dan mengakses project CodeIgniter di localhost. Kami menggunakan web server XAMPP. Cara mengaktifkannya dengan membuka XAMPP lalu klik Start pada modul Apache.
- 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.
Jika Anda sudah menyiapkan semuanya, yuk ikuti langkah-langkah berikutnya.
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.
Begini kurang lebih tampilan project CodeIgniter yang sudah dibuka di Sublime Text:
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:
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!
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:
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.
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:
Maka sekarang kami bisa menulis URL menjadi localhost/niagahoster/blog. Jika berhasil, Anda akan melihat tampilan seperti ini:
Selamat! Anda telah berhasil menghilangkan file index.php pada project CodeIgniter. Mudah sekali bukan? Kini URL Anda terlihat lebih simpel dan rapi.
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 domain 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 🙂