Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Cara Menghilangkan Folder Public di Codeigniter 4

2 min read

Tutorial Lengkap Cara Menghilangkan Folder Public dengan Htaccess

Tutorial Lengkap Cara Menghilangkan Folder Public dan Index.php di Codeigniter 4 dengan .htaccess. Step by step menjalankan project Codeigniter 4 (CI4) tanpa URL /public.

Codeigniter merilis versi terbaru dengan beberapa perubahan yang sangat mencolok.

Ketika artikel ini ditulis, versi terakhir adalah versi 3.1.11. Namun setelah diupdate, Codeigniter sudah sampai di versi 4.0.4.

Dahulu, kita bisa membuka project Codeigniter 3.1.11 hanya dengan mengetik URL seperti di bawah ini:

localhost/nama_project/nama_controller/function/params

atau …

www.domain.com/nama_controller/function/params

… akan tetapi di Codeigniter 4 sudah berbeda cara.

Nah, hal inilah yang kita bahas dari awal sampai akhir. Insya Allah.

Let’s go!

Download Codeigniter 4

download codeigniter 4

Silahkan download di situs resminya dan pilih versi terakhir.

Saat artikel ini ditulis, versi terakhir adalah v4.0.4.

Setting File Project

Sebelum menjalankan file framework Codeigniter 4, kita membutuhkan web server.

… untuk saat ini banyak web server yang bisa kita gunakan, di antaranya adalah XAMPP, Laragon, WAMP, Nginx.

Kebetulan, saya menggunakan Laragon.

Jadi, saat akan meletakan hasil download project ke Laragon/www.

Jika menggunakan XAMPP, bisa meletakan project ke XAMPP/htdocs.

… untuk yang lainnya bisa menyesuaikan.

Kemudian saya membuat folder baru bernama tutorial_codeigniter_4.

Baru, hasil download saya letakan di sana.

Lalu extract here file .zip framework-4.0.4 yang sudah kita download dengan cara klik kanan lalu pilih extract here.

Setelah selesai di extract, hasilnya akan ada folder baru framework-4.0.4.

Selanjutnya?

Menjalankan Project Codeigniter 4

Ada 2 cara menjalankan project Codeigniter 4.

Pertama, dengan command line

Fitur ini hanya ada di dalam framework versi 4 ke atas.

Buat yang baru pertama kali menggunakannya, jangan kaget.

Mungkin ini asing bagi kita.

Tapi saya pun akan menjelaskan cara yang biasa ke depannya.

Silahkan buka terminal, masuk ke direktori project dan ketik command di bawah ini:

php spark serve

Hasilnya:

menjalankan codeigniter 4 dengan php spark serve

Kita diberi tahu untuk membuka URL localhost:8080.

Mari kita coba buka URL tersebut.

… dan ini hasilnya:

Kedua, tanpa command line

Cara kedua ini sudah familiar bagi kita yang terbiasa dengan versi Codeigniter 3.

Kita tinggal buka URL berikut ini:

localhost/tutorial_codeigniter_4/framework-4.0.4

… dan ini hasilnya:

Kita akan mendapati hasil seperti di atas.

Solusinya, kita perlu menambahkan /public pada URL.

 localhost/tutorial_codeigniter_4/framework-4.0.4/public

Hasilnya:

Sampai di sini, kita sudah berhasil menjalankan project Codeigniter 4 baik dengan command line, maupun tanpa command line.

… akan tetapi cara kedua akan sangat dibutuhkan saat kita deployment ke hosting.

Kita perlu menghilangkan URL public sehingga cukup dengan membuka:

localhost/tutorial_codeigniter_4/framework-4.0.4/controller

atau ...

domain.com/controller

Bagaimana caranya?

Berikut langkah-demi langkahnya…

Menghilangkan URL Public dengan .htaccess di Codeigniter 4

Oke, ini adalah cara yang amat kita tunggu-tunggu.

Step 1: Buat File .htaccess di Root

Silahkan buat file baru bernama .htaccess dan simpan di root project.

membuat file htaccess di root project

Jika sudah, silahkan isi file .htaccess dengan script berikut:

DirectoryIndex index.php
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteRule !^(public/|index\.php) [NC,F]

Script di atas pun berfungsi untuk mencegah user membuka file lain selain yang ber-extention .php.

RewriteRule !^(public/|index.php) [NC,F]

Ada file penting yang tidak boleh diakses oleh user seperti .env, .htaccess, index.php dan lain-lain.

Step 2: Pindahkan File public/index.php ke Root Project

Pada folder public, terdapat file index.php.

Kita akan memindahkan file tersebut ke dalam root project.

Seperti ini:

memindahkan index.php ke root project agar bisa membuka tanpa url public

Tidak dicopy, tapi di cut saja.

memindahkan index.php pada codeigniter 4 agar bisa membuka  tanpa url public

Step 3: Ubah Paths

Buka file index.php yang baru saja kita pindahkan.

Kemudian cari kode berikut ini:

 $pathsPath = realpath(FCPATH . '../app/Config/Paths.php'); 

Ubah menjadi:

$pathsPath = realpath(FCPATH . 'app/Config/Paths.php');

Selanjutnya?

Menjalankan Project Tanpa URL Public

Sekarang kita sudah bisa menjalankan project Codeigniter 4 tanpa harus menyertakan URL public.

Silahkan buka dengan URL berikut ini:

localhost/tutorial_codeigniter_4/framework-4.0.4/ 

…. dan inilah hasilnya:

menjalankan project codeigniter 4 tanpa url public

Mantap!

Kesimpulan

Kita sudah belajar cara menghilangkan folder public dan index.php di Codeigniter 4 dengan .htaccess secara step by step.

Tapi jangan puas dulu…

Karena selanjutnya saya akan menulis tutorial bagaimana cara deployment Codeigniter 4 di hosting.

Nantikan kelanjutannya ya.

Baca Juga: Tutorial Lengkap CRUD Codeigniter 4

Silahkan tinggalkan komentar jika ingin diberikan notifikasinya.

Selamat belajar…

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

8 Replies to “Cara Menghilangkan Folder Public di Codeigniter 4”

  1. Halo mas, kalau saya punya template bootstrap terus mau dipasang di ci 4 base url nya yg mana aja ya yang diubah terus folder assetnya letak dimana ya? Apa bisa dibuatkan artikelnya mas?

    1. Silahkan simpan assets nya di public folder.

      Nah, untuk memanggilnya tinggal gunakan sintaks < ?= base_url('public/assets/dan_seterusnya') ?>

      Semoga membantu. Insya Allah saya buatkan tutorialnya kembali.

      1. maaf mas, sintaks manggil yg menggunakan base_url itu, dituliskan di file didalam directori views nya ya?

  2. Untung ada post ini jadi saya bisa menghilangkan public terimakasih kak membantu sekali

Leave a Reply

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

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.