ปกติ Laravel ถ้าเรา Upload ไฟล์ขึ้นตรงๆ บน Share Hosting หรือ VPS  ก็จะมี Path ชื่อ “public” แสดงติดมาด้วยใน URL จะเป็นลักษณะนี้ https://www.domain.com/public วิธีทำให้พาท “public”  ไม่ให้แสดงด้วยนั้น น่าจะมีหลายวิธี แต่ขอเลือกวิธีนี้แล้วกันครับ การแยกโฟลเดอร์ Laravel ออกมาเลย

Linux Hosting ทั่วไปลักษณะโฟลเดอร์จะเก็บไฟล์ไว้ที่ public_html บางแห่งอาจจะเป็นชื่ออื่นเช่น httpdocs หรือ wwwroot

ทีนี้ให้เราสร้างโฟลเดอร์นึงเพื่อเก็บตัว Engine ของ Laravel ไว้ในระดับเดียวกับโฟลเดอร์ public_html เลย ณ ที่นี้ผมสร้างโฟลเดอร์เป็น “laravel” เลยครับจำง่ายดี ดังรูป

แล้วจากนั้นเราก็เข้าไปในโฟลเดอร์ laravel และ Upload ไฟล์ทั้งหมดของ Project เข้าไป ยกเว้นโฟลเดอร์ “public”

บน Hosting ให้เราเข้าไปในโฟลเดอร์ “public_html” แล้วใน Project เราก็เข้าไปในโฟลเดอร์ “public” จากนั้น Upload ไฟล์ทั้งหมด รายการไฟล์จะเป็น ดังรูป

แก้ไขไฟล์ index.php จะมีการอ้างไฟล์อยู่ 2 จุด ดังนี้

require __DIR__.'/../vendor/autoload.php';
.
.
$app = require_once __DIR__.'/../bootstrap/app.php';

ให้เราแก้ไขโดยอ้างโฟลเดอร์ “laravel” ที่เราสร้างไว้ก่อนหน้านี้ ดังนี้

require __DIR__.'/../laravel/vendor/autoload.php';
.
.
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';

ทีนี้เวลาเราเรียก URL ก็ไม่ต้องใส่ /public  ไว้ห้อยท้ายอีกแล้วเพื่อความสวยงาม