ทำความเข้าใจกับปัญหา: วิธีการใช้ mod_rewrite สำหรับการจัดการนามแฝงไฟล์
เมื่อคุณพัฒนาเว็บไซต์ มักจะจำเป็นต้องจัดการวิธีการเข้าถึงและแสดงไฟล์บางประเภทเพื่อให้แน่ใจว่าเว็บไซต์ของคุณทำงานได้อย่างราบรื่นและมีประสิทธิภาพ สำหรับนักพัฒนาที่ใช้ ColdFusion มีสถานการณ์ทั่วไปที่สร้างความสงสัย: วิธีการตั้งชื่อประเภทไฟล์—โดยเฉพาะการแมพคำขอ PHP ไปยังหน้า ColdFusion ขณะเดียวกันก็ควบคุมว่าคำขอนี้จะถูกประมวลผลอย่างไร
ในคู่มือนี้เราจะสำรวจสถานการณ์เฉพาะ: คุณได้ตั้งกฎเพื่อทำให้คำขอไปที่ index.php
ไปยัง index.cfm
อย่างมีประสิทธิภาพ อย่างไรก็ตาม คุณต้องการให้มั่นใจว่าหากมีใครพยายามเข้าถึงไฟล์ index.cfm
โดยตรง พวกเขาจะได้รับการตอบสนอง 404 Not Found แทน มาดำดิ่งไปในขั้นตอนการทำเช่นนี้กันเถอะ!
วิธีแก้ไข: การใช้กฎ mod_rewrite
การตั้งค่ากฎ rewrite
เพื่อให้บรรลุเป้าหมายของคุณ คุณสามารถใช้โมดูล mod_rewrite
ของ Apache เครื่องมือที่ทรงพลังนี้ช่วยให้คุณสามารถทำการจัดการ URL ที่ซับซ้อนและการเปลี่ยนเส้นทางได้ วิธีการที่นี่เกี่ยวข้องกับการใช้กฎสำคัญสองข้อในไฟล์ .htaccess
(หรือการกำหนดค่า Apache) นี่คือสิ่งที่คุณต้องรู้:
-
เปิดใช้งาน Rewrite Engine: ก่อนอื่นให้แน่ใจว่าเครื่องมือ rewrite ของคุณเปิดใช้งานอยู่
RewriteEngine on
-
ใช้กฎ: ขั้นตอนถัดไปคือการเพิ่มกฎที่จัดการการตั้งชื่อและการตอบสนอง 404 นี่คือวิธีการตั้งค่า:
# อย่าทำให้กฎทั้งสองนี้แยกจากกันตราบใดที่กฎแรกมี S=1 RewriteRule (.*)\.php$ $1.cfm [S=1] RewriteRule \.cfm$ - [R=404]
- กฎแรกแมพคำขอจากไฟล์
*.php
ไปที่ไฟล์*.cfm
โดยใช้ตัวแฟลกS=1
(ข้าม) ซึ่งมีผลทำให้กฎถัดไปใช้เมื่อกฎแรกไม่ถูกจับคู่ - กฎที่สองจะตอบกลับด้วยสถานะ 404 หากมีความพยายามที่จะเข้าถึงไฟล์
*.cfm
โดยตรง
- กฎแรกแมพคำขอจากไฟล์
ข้อพิจารณาเพิ่มเติม
-
ตัวเลือก Alias: หากคุณยังใช้คำสั่ง
Alias
ในการกำหนดค่าของคุณ ก็สำคัญที่จะต้องเพิ่มตัวแฟลกPT
(ผ่าน) เพื่อให้แน่ใจว่ากฎทำงานได้อย่างถูกต้องกับอเลียสที่มีอยู่ สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ เอกสาร mod_rewrite. -
ทดสอบการตั้งค่าของคุณ: หลังจากดำเนินการเปลี่ยนแปลงแล้วให้แน่ใจว่าคุณได้ทดสอบเว็บไซต์ของคุณ ตรวจสอบให้แน่ใจว่า
index.php
ประมวลผลและรีเลทไปยังindex.cfm
อย่างถูกต้อง ในขณะที่การเข้าถึงโดยตรงที่index.cfm
จะให้ข้อผิดพลาด 404 ตามที่ต้องการ
สรุป: การปรับปรุง SEO และประสบการณ์ผู้ใช้
การใช้กฎ mod_rewrite
ไม่เพียงแต่ปรับปรุงฟังก์ชันการทำงานของเว็บไซต์ของคุณเท่านั้น แต่ยังช่วยเพิ่ม SEO และประสบการณ์ของผู้ใช้ ด้วยการควบคุมการเข้าถึงไฟล์ของคุณอย่างรอบคอบ คุณสามารถทำให้เว็บไซต์ของคุณมีระเบียบและดึงดูดผู้ใช้ได้
หากคุณมีคำถามเพิ่มเติมหรือต้องการคำชี้แจงในส่วนใดของกระบวนการนี้ อย่าลังเลที่จะถาม!