ลบ index.php ของ Codeigniter 3 ใน docker


วิธีการลบ index.php?

  1. สร้างไฟล์ .htaccess

ต้องเริ่มจากการสร้างไฟล์ .htaccess ในไดเรกทอรีหลักของโปรเจคหรือไดเรกทอรีของ CodeIgniter ของเรา การสร้างไฟล์ .htaccess จะช่วยให้เราแก้ไขกฎการเขียนใหม่ได้โดยไม่ต้องเข้าถึงไฟล์กำหนดค่าเซิร์ฟเวอร์ โดยเนื่องจากเหตุนี้ .htaccess เป็นสิ่งสำคัญต่อความปลอดภัยของแอปพลิเคชันเว็บของเรา และต้องให้แน่ใจว่าไฟล์นี้ถูกซ่อน เพราะ htaccess เป็นตัวย่อที่ใช้สำหรับ Hypertext Access มันเป็นไฟล์กำหนดค่าที่ควบคุมไดเรกทอรี “.htaccess”

หลังจากสร้างไฟล์ .htaccess เสร็จแล้ว ให้เพิ่มโค้ดต่อไปนี้ในไฟล์นี้

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
  1. การลบไฟล์ index.php

เปิดไฟล์ config.php ในโปรแกรมแก้ไขข้อความของคุณและลบ index.php จากตรงนี้

เปลี่ยน:

$config['index_page'] = "index.php";

เป็น:

$config['index_page'] = "";

แต่ในบางกรณีบางครั้ง อาจเกิดกรณีที่การตั้งค่าเริ่มต้นสำหรับ url_protocol ไม่ทำงานอย่างเหมาะสม สำหรับการแก้ปัญหานี้ เราต้องเปิดไฟล์ config.php และ

เปลี่ยน:

$config['uri_protocol'] = "AUTO";

เป็น:

$config['uri_protocol'] = "REQUEST_URI";

มักจะตั้งค่าเป็น REQUEST_URI อยู่แล้ว ในกรณีนั้น เราไม่ต้องเปลี่ยนมัน

  1. เปิดใช้งาน apache mode rewrite

ตอนนี้เราจะต้องเปิดใช้งาน mod_rewrite ด้วยคำสั่งต่อไปนี้

$ sudo a2enmod rewrite
  1. รีสตาร์ท Apache

ตอนนี้เราต้องรีสตาร์ท Apache โดยเขียนคำสั่งต่อไปนี้

$ sudo service apache2 restart