ข้ามไปที่เนื้อหาหลัก

การลบ public ใน codeigniter 4

Codeigniter 4 จะมี folder public โผล่มา เพื่อให้เราใช้งานในเวอร์ชั่น development ( เวอร์ชั่นที่อยู่ในขั้นตอนการพัฒนา ยังไม่ได้เปิดใช้งานจริง ) และเมื่อนำโปรเจคไปใช้งานจริง เราอาจจะไม่ต้องการให้ชื่อโฟลเด้อ public แสดงบน url

วิธี ลบโฟลเด้อ public ออกจาก url สามารถทำได้ง่าย ๆ ใน 3 ขั้นตอน ง่ายๆ ดังนี้

  1. ในโฟลเด้อ public ให้ย้าย ไฟล์ index.php, .htaccess และ robot.txt ออกมาไว้ที่ root ของโปรเจค จากนั้นลบ folder public ทิ้งได้เลย
  2. เปิดไฟล์ index.php จากนั้นให้แก้ไขตัวแปร FCPATH ให้พาธถูกต้อง
    จากเดิม (บรรทัดที่ 34)
    require FCPATH . '../app/Config/Paths.php';

    แก้ไขเป็น
    require FCPATH . 'app/Config/Paths.php'
  3. เปิดไฟล์ spark จากนั้นให้แก้ไขตัวแปร pathsPath ให้พาธถูกต้อง (หากเราไม่ทำการเปลี่ยนเราจะใช้ spark ไม่ได้เลย)

    จากเดิม (บรรทัดที่ 69)
    define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR .'public'.DIRCTORY_SEPARATOR);
    // Load our paths config file
    // This is the line that might need to be changed, depending on your folder structure.
    require FCPATH . '../app/Config/Paths.php';
    // ^^^ Change this line if you move your application folder

    แก้ไขเป็น
    define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR);
    // Load our paths config file
    // This is the line that might need to be changed, depending on your folder structure.
    require FCPATH . 'app/Config/Paths.php';
    // ^^^ Change this line if you move your application folder
ภาพตัวอย่าง




ได้รับแรงบรรดาลใจมาจาก 

https://www.codebee.co.th/labs/codeigniter-4-%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%A5%E0%B8%9A-public-%E0%B8%AD%E0%B8%AD%E0%B8%81%E0%B8%88%E0%B8%B2%E0%B8%81-url/

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การตั้งค่า baseController

  <?php namespace App\Controllers ; use CodeIgniter\ Controller ; use CodeIgniter\HTTP\ CLIRequest ; use CodeIgniter\HTTP\ IncomingRequest ; use CodeIgniter\HTTP\ RequestInterface ; use CodeIgniter\HTTP\ ResponseInterface ; use Psr\Log\ LoggerInterface ; /**  * Class BaseController  *  * BaseController provides a convenient place for loading components  * and performing functions that are needed by all your controllers.  * Extend this class in any new controllers:  *     class Home extends BaseController  *  * For security be sure to declare any new methods as protected or private.  */ abstract class BaseController extends Controller {     /**      * Instance of the main Request object.      *      * @var CLIRequest | IncomingRequest      */     protected $request ;     /**      * An array of helpers to be lo...

จะลบ index.php ออกจาก URL ใน CodeIgniter 4 ได้อย่างไร

CodeIgniter คืออะไร? CodeIgniter เป็น  เฟรมเวิร์กที่ขับเคลื่อนด้วย PHP  สำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว ในขณะที่สร้างเว็บแอปพลิเคชัน เราใช้เวลาส่วนใหญ่ในการเขียนโค้ดเดิมซ้ำแล้วซ้ำอีก เฟรมเวิร์กเป็นบล็อกเริ่มต้นและลดจำนวนโค้ดที่จำเป็นในการสร้างเว็บไซต์ให้เหลือน้อยที่สุด CodeIgniter เป็นเฟรมเวิร์กแอปพลิเคชันเว็บ  PHP เชิงวัตถุ  ที่เป็นโอเพ่นซอร์สและใช้งานง่ายฟรี CodeIgniter ใช้ MVC โดยมีไลบรารีสำหรับเชื่อมต่อกับฐานข้อมูลและดำเนินการต่างๆ เช่น การส่งอีเมล การอัปโหลดไฟล์ ฯลฯ สำหรับการใช้ Codeigniter การมี  ความรู้พื้นฐานเกี่ยวกับไวยากรณ์ PHP และวิธีการโต้ตอบกับฐานข้อมูลและ HTML ถือเป็นเรื่องดี ทำไมต้องลบ index.php? การลบ index.php จะทำให้ URL ดูสะอาดตาและเป็นมืออาชีพ กรอบงาน Codeigniter ให้บริการมุมมองทั้งหมดผ่านไฟล์เดียว index.php หากไม่มีไฟล์นี้ ไม่มีโมเดล/มุมมอง/คอนโทรลเลอร์จะไม่ทำงาน เราจำเป็นต้องลบ index.php ออกจาก URL ด้วยการกำหนดค่าที่เหมาะสม ไม่เช่นนั้นมันจะแสดงหน้า 404 การลบไฟล์ index.php เปิดไฟล์ \App\Configs\App.php ในโปรแกรมแก้ไขข้อความและลบ index....

การตั้งค่าให้ใช้ Spark Ci4 ได้ภายใน server ของ Synology NAS

 หากท่านเข้า terminal ของ vs code แล้วเกิดอาการแสดง error ให้ท่านดำเนินการดังนี้ ตัวอย่าง error php spark Fatal error: Uncaught InvalidArgumentException: The .env file is not readable: \\YOUR_SERVER\WEB\esign-approve\.env in \\ YOUR_SERVER \WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\system\Config\DotEnv.php on line 62 InvalidArgumentException: The .env file is not readable: \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \.env in \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\system\Config\DotEnv.php on line 62 Call Stack:     0.0354     413520   1. {main}() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \spark:0     4.1167    2077848   2. CodeIgniter\Config\DotEnv->load() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \spark:79     4.1167    2077848   3. CodeIgniter\Config\DotEnv->parse() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\sys...