7
เปลี่ยนเส้นทางทั้งหมดไปที่ index.php โดยใช้ htaccess
ฉันกำลังเขียนเฟรมเวิร์ก MVC-ish ที่ใช้ PHP อย่างง่าย ฉันต้องการให้กรอบนี้สามารถติดตั้งในไดเร็กทอรีใดก็ได้ สคริปต์ PHP ของฉันคว้าคำขอ uri และแบ่งออกเป็นส่วนต่างๆ ทำให้ส่วนที่ 1 เป็นตัวควบคุมและส่วนที่ 2 ดำเนินการ สิ่งนี้ใช้ได้ดีเมื่อฉันทำสิ่งนี้: http://www.example.com/mvc/module/test/ มันจะไปที่ตัวควบคุมโมดูลเฉพาะและวิธีการ ตอนนี้ฉันมีตัวควบคุมเริ่มต้นคือตัวควบคุมบ้านซึ่งอยู่ในโฟลเดอร์โฮม ตอนนี้เมื่อฉันเข้าถึงโฟลเดอร์นี้โดยตรง http://www.example.com/mvc/home/ มันจะแสดง 403 ต้องห้ามเนื่องจากมีโฟลเดอร์นี้อยู่ แต่ควรกลับไปที่ http://www.example.com ด้วย /mvc/index.php ถ้าฉันจะติดตั้งเฟรมเวิร์กในโฟลเดอร์อื่นสมมติว่าโฟลเดอร์เฟรมเวิร์กต้องเปลี่ยนเส้นทางกลับไปที่http://www.example.com/framework/index.php ฉันต้องการเปลี่ยนเส้นทางทุกโฟลเดอร์และไฟล์ php กลับไปที่ index.php โดยปล่อยให้ทุกอย่างเป็นไปตามนั้น ปัญหาแรกของฉันที่ฉันพบคือมันไม่เคยเปลี่ยนเส้นทางไปยังโฟลเดอร์ที่ถูกต้องไปยังโฟลเดอร์รากของโดเมนเสมอ นี่คือสิ่งที่ฉันลอง: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . index.php [L]