...

Cara Menghilangkan “/public” di URL pada Aplikasi Laravel

by user

on
Category: Documents
946

views

Report

Comments

Transcript

Cara Menghilangkan “/public” di URL pada Aplikasi Laravel
Cara Menghilangkan “/public” di URL pada Aplikasi
Laravel
Abdul Rohman
[email protected] :: http://www.abdulrohman.web.id
Abstrak
Bagi Anda yang pemula dalam memakai framework Laravel, mungkin bertanya kenapa
index dari aplikasi berada dalam folder public, sehingga misalkan Anda mempunyai
aplikasi
bernama
“Aplikasiku”
dan
mengetikkannya
di
URL
dengan
alamat
http://localhost/aplikasiku, yang keluar malah isi folder, bukan halaman utama
aplikasi
Anda.
Akan
tetapi
jika
URL
yang
dibuka
adalah
http://localhost/aplikasiku/public, baru halaman utama dari aplikasi yang keluar, sama
seperti di framework CodeIgniter yang selalu ada “/index.php” di URLnya. Tapi hal
tersebut dapat diatasi dengan beberapa cara.
Kata Kunci: public, URL, Framework PHP, Laravel.
Pendahuluan
Jika Anda sudah berani membaca postingan ini, maka saya asumsikan Anda sudah
familiar dengan Laravel, atau minimal Anda sudah berhasil menginstall Laravel di
komputer Anda. Lebih keren lagi kalau Anda sudah berhasil membuat aplikasi beneran,
baik itu proyekan atau produk sendiri.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pembahasan
Salah satu yang tidak menyenangkan dari Laravel, selain instalasinya yang tidak biasa
dari framework lainnya, adalah URL aplikasi yang harus ketambahan embel-embel
/public. Jadi misalkan Anda punya domain rohman.com, maka aplikasi Laravel bisa
diakses dengan mengetikkan url rohman.com/public.
Untuk mengatasinya, ada beberapa alternatif cara yang bisa dilakukan, diantaranya :
Cara 1: Anda Punya Server Sendiri
Jika Anda seorang sysadmin, atau mempunyai server sendiri, maka menghilangkan
/public merupakan perkara mudah. Edit saja file httpd.conf (atau sejenisnya) sehingga
document root merujuk ke folder laravel/public.
<VirtualHost *:80>
DocumentRoot "/path/to/laravel/public"
ServerName laravel-no-public.com
ServerAlias www.laravel-no-public.com
</VirtualHost>
Cara 2: Anda Hanya Memiliki CPanel atau Localhost
Jika Anda tidak cukup beruntung untuk bisa mengakses server secara langsung dan
hanya diberi fasilitas CPanel, maka cara yang bisa dilakukan seperti berikut :
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pada dasarnya, entry point dari aplikasi Laravel adalah file index.php yang ada di dalam
folder public. Jika Anda ingin mengakses url aplikasi tanpa /public di belakang, maka salah
satu cara yang bisa dilakukan adalah memindahkan file public/index.php ke document root
(biasanya folder public_html atau folder www).
2.1. Ubah Struktur Folder
Katakanlah Anda memiliki struktur folder seperti berikut ini:
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Selanjutnya, buat sebuah folder baru dengan nama protected:
Lalu pindahkan semua file dan folder (kecuali folder public) ke dalam folder protected
yang baru saja dibuat:
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Terakhir, pindahkan isi folder public ke luar sehingga setara dengan folder protected
tadi. Pastikan file .htaccess juga ikut dipindahkan. Folder public yang kosong bisa Anda
hapus.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sampai sini Anda sudah bisa mengakses aplikasi tanpa harus menambahkan embelembel /public di belakang, tapi akan ditemui error seperti ini:
Warning:
require(/Users/uyab/Sites/public_html/public/../bootstrap/autoload.php):
failed to open stream: No such file or directory in
/Users/uyab/Sites/public_html/public/index.php on line 21
Fatal error: require(): Failed opening required
'/Users/uyab/Sites/public_html/public/../bootstrap/autoload.php'
(include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php') in
/Users/uyab/Sites/public_html/public/index.php on line 21
Sampai disini, setup folder sudah selesai, selanjutnya tinggal mengupdate beberapa file
terkait konfigurasi path sehingga bisa merujuk ke struktur folder yang baru.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
2.2. Edit index.php
require __DIR__.'/protected/bootstrap/autoload.php';
...
$app = require_once __DIR__.'/protected/bootstrap/start.php';
2.3. Edit protected/bootstrap/paths.php
'public' => __DIR__.'/../..',
Selesai, sekarang Anda bisa mengakses aplikasi tanpa embel-embel /public di belakang.
Sekarang apa pun Route yang kamu buat, URL nya sudah tidak mengandung /public
lagi.
Jadi jangan sekali-kali panggil /public karena itu tidak akan terbaca lagi oleh
Route aplikasi kamu.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Penutup
Mungkin setelah selesai Anda mencoba cara dalam artikel ini, Anda masih bertanya
kenapa Laravel menaruh file index nya pada folder public. Bagi saya Laravel
merupakan framework yang stay in role nya sebagai backend program. Laravel
berperan pada server side dari sebuah aplikasi yang hanya mengeluarkan respon berupa
xml atau json untuk nantinya diproses oleh front end, bisa jQuery atau framework
javascript lainnya seperti Ember, Angular, atau Backbone. Oleh karena itu laravel
sangat bagus untuk membuat aplikasi yang memisahkan client side dengan server side.
Ini juga sangat membantu ketika kamu membuat aplikasi mobile web dimana aplikasi
anda hanya bisa diakses dari mobile sedangkan ketika aplikasi kamu diakses dari pc
yang muncul adalah landing page. Padahal anda hanya punya satu folder aplikasi tapi
dapat menampilkan dua proses yang berbeda. Kamu bisa menaruh file framework
javascript yang memiliki file index.html pada root tanpa mengganggu index.php dan
route laravel.
Semoga artikel ini sangat membantu bagi Anda
mencicipi menggunakan
framework
Laravel.
yang
ingin
belajar atau sekedar
Jika Anda menyukai artikel ini atau
memiliki pertanyaan, silakan posting komentar dibawah sehingga mendorong saya
untuk menulis artikel yang lebih berguna. Selamat berjumpa di artikel saya selanjutnya.
Terima kasih telah membaca artikel ini. :D
Referensi
http://id-laravel.com/post/menghilangkan- folder-public-di-url-pada-aplikasi- laravel
http://elfirasy.blogspot.com/2014/04/cara- menghilangkan-public-pada- laravel.html
http://www.gee.web.id/2014/02/cara- menghilangkan- folder-public-pada- laravel.html
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Biografi
Abdul Rohman
Lahir di Tangerang pada tanggal 10 Mei 1990. Merupakan
seorang yang berpenampilan sederhana tapi berkompeten dalam
hal-hal
yang
berhubungan
memperdalam dunia
dengan
komputer
komputer.
pada
jurusan
Dia
mulai
Multimedia di
SMKN 1 Tangerang. Saat ini dia sedang menempuh pendidikan
perkuliahan
konsentrasi Computer
di
Accountancy
STMIK
dan
Raharja
selanjutnya
jurusan
akan
Sistem
Informasi
menempuh program
masternya di Universitas Negeri atau Luar Negeri (Insyallah…amin). Disamping kuliah
dia juga bekerja di perusahaan Digital Printing yang mana menurutnya disitu ada
keseimbangan antara ide kreatif, teknologi dan
konsep. Cita-citanya yang sekarang
adalah ingin menjadi seorang Technopreneur.
Info lebih lanjut (jangan hubungi dokter) www.abdulrohman.web.id
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Fly UP