หน้าแรก/บทความ/วิธี Upload Laravel5 ขึ้น Share Hosting และลบพาธ public
กลับหน้าบทความ
🚀Laravel

วิธี Upload Laravel5 ขึ้น Share Hosting และลบพาธ public

แนะนำวิธีอัพโหลด Laravel 5 ขึ้น Share Hosting โดยแยกโฟลเดอร์เพื่อซ่อนพาธ /public ออกจาก URL ทำให้ URL สะอาดและดูเป็นมืออาชีพมากขึ้น

ศิริชัย ธีรภัทรสกุล (ตั้ม)อ่าน 4 นาที9 กุมภาพันธ์ 2561
#Laravel#PHP#Share Hosting#Deploy#public_html

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

วิธีทำให้พาธ "public" ไม่ให้แสดงนั้น น่าจะมีหลายวิธี แต่ขอเลือกวิธีนี้แล้วกันครับ คือการ แยกโฟลเดอร์ Laravel ออกมาเลย

โครงสร้างโฟลเดอร์บน Hosting

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

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

โครงสร้างจะเป็นดังนี้:

/home/user/
├── public_html/     ← ไฟล์จากโฟลเดอร์ public ของ Laravel
└── laravel/         ← ไฟล์ทั้งหมดของ Laravel ยกเว้นโฟลเดอร์ public

ขั้นตอนการอัพโหลด

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

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

แก้ไขไฟล์ index.php

แก้ไขไฟล์ index.php ใน public_html ซึ่งจะมีการอ้างไฟล์อยู่ 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 ไว้ห้อยท้ายอีกแล้ว เพื่อความสวยงาม

🚀 รับพัฒนาเว็บไซต์ & เว็บแอพพลิเคชั่น

สนใจดูตัวอย่างงานหรือสอบถามเพิ่มเติม ติดต่อได้เลยครับ โค้ดโมทีฟ (CodeMotive)