วิธีการลบ index.php?
- สร้างไฟล์ .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]
- การลบไฟล์ 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 อยู่แล้ว ในกรณีนั้น เราไม่ต้องเปลี่ยนมัน
- เปิดใช้งาน apache mode rewrite
ตอนนี้เราจะต้องเปิดใช้งาน mod_rewrite ด้วยคำสั่งต่อไปนี้
$ sudo a2enmod rewrite
- รีสตาร์ท Apache
ตอนนี้เราต้องรีสตาร์ท Apache โดยเขียนคำสั่งต่อไปนี้
$ sudo service apache2 restart